Bagaimana cara mendapatkan metode blok di controller?


8

Jalur file blok saya adalah

app\code\local\Company\Modulename\Block\Product\View\View.php

Dalam metode ini nama file adalah getId ()

Sekarang bagaimana cara memanggil metode ini di controller?

Jawaban:


13

Hai, Anda dapat memanggil blok ini dengan menggunakan kode di bawah ini di controller.

$block=$this->getLayout()->createBlock('blockPrefix/product_view_view');

$Id=$block->getId();

Blok Awalan didefinisikan di app \ code \ local \ Company \ Modulename \ Block \ Product \ View \ View.php di bawah tag

   <blocks>
        <blockPrefix><!-- guess that modulePrefix is your module block prefix -->
        <class>Company_Modulenam_Block</class>
        </blockPrefix>
    </blocks>

Lihat cara memanggil cek blok di sini


12

Jika blok Anda sudah terlampir pada aksi controller Anda bisa menyebutnya seperti

$this->getBlock('block.name.here')->getId()

Jika blok tidak ada hubungannya dengan tindakan Anda saat ini, Anda dapat menyebutnya seperti:

Mage::getBlockSingleton('[module]/product_view')->getId()

2
Saya tidak yakin contoh kedua berfungsi, setidaknya tidak pada 1.9.2.1. Blok doc metode mengatakan sudah usang dan menggunakan self::helper()yang aneh dalam dirinya sendiri, karena blok dan pembantu adalah hal yang berbeda!
Robbie Averill
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.