Làm thế nào để có được phương thức khối trong bộ điều khiển?


8

Đường dẫn tệp khối của tôi là

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

Trong tệp phương thức này tên là getId ()

Bây giờ làm thế nào để gọi phương thức này trong bộ điều khiển?

Câu trả lời:


13

Xin chào, bạn có thể gọi khối này bằng cách sử dụng mã dưới đây tại bộ điều khiển.

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

$Id=$block->getId();

Tiền tố khối được xác định tại app \ code \ local \ Company \ Modulename \ Block \ Product \ View \ View.php trong thẻ

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

Xem cách gọi kiểm tra khối tại đây


12

Nếu khối của bạn đã được gắn vào hành động của bộ điều khiển, bạn có thể gọi nó như thế nào

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

Nếu khối không liên quan gì đến hành động hiện tại của bạn, bạn có thể gọi nó như sau:

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

2
Tôi không chắc chắn ví dụ thứ hai hoạt động, ít nhất là trong 1.9.2.1. Khối tài liệu của phương thức nói rằng nó không được dùng nữa và self::helper()bản thân nó sử dụng là số lẻ, bởi vì các khối và trình trợ giúp là những thứ khác nhau!
Robbie Averill
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.