<legend id='eCTzq'><style id='eCTzq'><dir id='eCTzq'><q id='eCTzq'></q></dir></style></legend>

    • <bdo id='eCTzq'></bdo><ul id='eCTzq'></ul>

    1. <small id='eCTzq'></small><noframes id='eCTzq'>

      <tfoot id='eCTzq'></tfoot>
        <i id='eCTzq'><tr id='eCTzq'><dt id='eCTzq'><q id='eCTzq'><span id='eCTzq'><b id='eCTzq'><form id='eCTzq'><ins id='eCTzq'></ins><ul id='eCTzq'></ul><sub id='eCTzq'></sub></form><legend id='eCTzq'></legend><bdo id='eCTzq'><pre id='eCTzq'><center id='eCTzq'></center></pre></bdo></b><th id='eCTzq'></th></span></q></dt></tr></i><div id='eCTzq'><tfoot id='eCTzq'></tfoot><dl id='eCTzq'><fieldset id='eCTzq'></fieldset></dl></div>

      1. Yii2:多个事件附加视图

        时间:2023-10-15
          <tfoot id='k0qaT'></tfoot>
            <tbody id='k0qaT'></tbody>

            • <i id='k0qaT'><tr id='k0qaT'><dt id='k0qaT'><q id='k0qaT'><span id='k0qaT'><b id='k0qaT'><form id='k0qaT'><ins id='k0qaT'></ins><ul id='k0qaT'></ul><sub id='k0qaT'></sub></form><legend id='k0qaT'></legend><bdo id='k0qaT'><pre id='k0qaT'><center id='k0qaT'></center></pre></bdo></b><th id='k0qaT'></th></span></q></dt></tr></i><div id='k0qaT'><tfoot id='k0qaT'></tfoot><dl id='k0qaT'><fieldset id='k0qaT'></fieldset></dl></div>
                <bdo id='k0qaT'></bdo><ul id='k0qaT'></ul>

                <legend id='k0qaT'><style id='k0qaT'><dir id='k0qaT'><q id='k0qaT'></q></dir></style></legend>

                <small id='k0qaT'></small><noframes id='k0qaT'>

                  本文介绍了Yii2:多个事件附加视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述


                  我想尝试制作一些动态侧边栏和内容,我在视图中多次触发事件,
                  这是我的代码:

                  Hi,
                  I want try to make some dynamic sidebar and content, I have trigger event multiple times in view,
                  here my code:

                  后端/视图/布局/_sidebar.php

                  use commoncomponentHook;
                  use yiiaseEvent;
                  
                  Event::trigger(Hook::className(), Hook::SIDEBAR_MENU);
                  

                  后端/视图/ext/index.php

                  use commoncomponentHook;
                  use yiiaseEvent;
                  
                  Event::trigger(Hook::className(), Hook::PlUGIN_CONTENT);
                  

                  common/component/Hook.php

                  namespace commoncomponent;
                  
                  use yiiaseComponent;
                  
                  class Hook extends Component{
                  
                      const SIDEBAR_MENU = '';
                      const PlUGIN_CONTENT = '';
                  
                  }
                  

                  后端插件插件index.php

                  namespace backendpluginsPlugin;
                  
                  use Yii;
                  use commoncomponentHook;
                  use yiiaseEvent;
                  use yiihelpersHtml;
                  
                  class Index extends Event{
                      function sidebar() {
                          echo '<li>' . Html::a('Menu Plugin 1', ['/ext?n=Plugin']) . '</li>';
                      }
                  
                      function renderContent(){
                          echo 'this is content';
                      }
                  }
                  
                  Event::on(Hook::className(), Hook::SIDEBAR_MENU, [new Index, 'sidebar']);
                  Event::on(Hook::className(), Hook::PlUGIN_CONTENT, [new Index, 'renderContent']);
                  

                  后端pluginsPlugin2index.php

                  namespace backendpluginsPlugin2;
                  
                  use Yii;
                  use commoncomponentHook;
                  use yiiaseEvent;
                  use yiihelpersHtml;
                  
                  Event::on(Hook::className(), Hook::SIDEBAR_MENU, function () {
                      echo '<li>' . Html::a('Menu Plugin 2', ['/ext?n=Plugin2']) . '</li>';
                  });
                  

                  这里是我的控制器 backend/controller/ExtController.php

                  namespace backendcontrollers;
                  
                  use Yii;
                  use yiiwebController;
                  
                  class ExtController extends Controller
                  {
                      public function actionIndex(){    
                          return $this->render('index');
                      }
                  
                  }
                  

                  问题:

                  1. 为什么它们在_sidebar.php 中出现多次?我只是在sidebar.php 中触发了SIDEBAR MENU,为什么它们同时触发了SIDEBAR_MENU 和PLUGIN_CONTENT?
                  2. 我在 backend/view/ext/index.php 中也有触发事件,但是没有触发 PLUGIN_CONTENT,所以内容没有出现

                  推荐答案

                  在hook.php中,它们都有相同的值,即空字符串"",它们必须有值

                  in hook.php, they both have same value, which is empty string "", they mush have value

                  namespace commoncomponent;
                  
                  use yiiaseComponent;
                  
                  class Hook extends Component{
                  
                      const SIDEBAR_MENU = 'sidebarMenu';
                      const PlUGIN_CONTENT = 'pluginContent';
                  
                  }
                  

                  这篇关于Yii2:多个事件附加视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Yii 2:AngularJS 的目录结构? 下一篇:在 yii2 中访问 post json 数据时出错

                  相关文章

                      <bdo id='FPyei'></bdo><ul id='FPyei'></ul>

                    <legend id='FPyei'><style id='FPyei'><dir id='FPyei'><q id='FPyei'></q></dir></style></legend>

                      <small id='FPyei'></small><noframes id='FPyei'>

                      <tfoot id='FPyei'></tfoot>
                    1. <i id='FPyei'><tr id='FPyei'><dt id='FPyei'><q id='FPyei'><span id='FPyei'><b id='FPyei'><form id='FPyei'><ins id='FPyei'></ins><ul id='FPyei'></ul><sub id='FPyei'></sub></form><legend id='FPyei'></legend><bdo id='FPyei'><pre id='FPyei'><center id='FPyei'></center></pre></bdo></b><th id='FPyei'></th></span></q></dt></tr></i><div id='FPyei'><tfoot id='FPyei'></tfoot><dl id='FPyei'><fieldset id='FPyei'></fieldset></dl></div>