0

コントローラービューアクション。私はindexControllerで以下の関数を使用しました

 public function viewAction($string){
 $stro  = $this->getRequest()->getParams('key');
 if($stro != null){
  $model = Mage::getModel('finder/finder');
 $collection = $model->getCollection()->addFieldToFilter('companyname', $stro);

 $this->getResponse()->setBody($block->toHtml());
  }
 $this->loadLayout();
  $this->renderLayout();

フロント エンド レイアウト フィールド finder.xml で、次のコードを呼び出しました。

 <finder_index_view>
 <reference name="content">
<block type="finder/info"  name="finder" template="finder/info.phtml" />
 </reference>
 </finder_index_view>

このコントローラー関数の出力を info.phtml ファイルに表示する方法。

4

1 に答える 1

0

ステップ 1: コントローラー (IndexController.php) ファイル インデックス コントローラーでは、レイアウトをロードしてレンダリングするだけです。

<?php
class Abc_Example_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }
}
?>

ステップ 2: レイアウト (custom.xml) ファイル 以下のコードをモジュールのレイアウト ファイルに入れます。

<?xml version="1.0"?>
<layout version="0.1.0">
   <example_index_index>
       <reference name="content">
           <block type="example/collection" name="collection" template="example/collection.phtml" />
       </reference>
   </example_index_index>
</layout>

コレクションを定義できるブロックのコードは次のとおりです

 <?php
    class Abc_Example_Block_Collection extends Mage_Core_Block_Template
    {
        public function __construct()
        {
            parent::__construct();
            $stro  = $this->getRequest()->getParams('key');
            if($stro != null){
            $model = Mage::getModel('finder/finder');
            $collection = $model->getCollection()->addFieldToFilter('companyname', $stro);
            $this->setCollection($collection);
        }
   }

これで、info.phtml でこのコレクションにアクセスできるようになりました

<?php $collection = $this->getCollection(); ?>

これがあなたを助けることを願っています

于 2013-10-10T11:56:50.520 に答える