Come ottenere il metodo di blocco nel controller?


8

Il mio percorso del file di blocco è

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

In questo file il nome del metodo è getId ()

Ora come chiamare chiamare questo metodo nel controller?

Risposte:


13

Ciao, puoi chiamare questo blocco usando il codice qui sotto sul controller.

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

$Id=$block->getId();

Block Prefix è definito in app \ codice \ locale \ Azienda \ Nome modulo \ Blocco \ Prodotto \ Visualizza \ View.php sotto il tag

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

Vedi come chiamare un controllo di blocco qui


12

Se il tuo blocco è già collegato all'azione del controller, puoi chiamarlo come

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

Se il blocco non ha nulla a che fare con l'azione corrente, puoi chiamarlo come:

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

2
Non sono sicuro che il secondo esempio funzioni, almeno non in 1.9.2.1. Il blocco doc del metodo dice che è deprecato e da usare self::helper()che è strano in sé, perché blocchi e helper sono cose diverse!
Robbie Averill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.