Вопрос по zend-framework-modules, zend-framework – Я бы не стал. Я оставляю обновления и вставки в форму или контроллер. Если у вас есть запрос на обновление / вставку, который вы планируете использовать повторно, я бы порекомендовал добавить логику непосредственно в саму модель.

3

ичок в Zend Framework и пытаюсь получить представление о возможности повторного использования кода. Я определенно знаю о модулях, но, похоже, есть некоторая неуверенность в том, какая функциональность должна входить в модули, а какая нет.

что я пытаюсь сделать:

1) иметь многоразовые мини-программы / виджеты / плагины (как бы вы их ни называли), которые можно просто подключить к любому сайту, делая это в макете или представлении:

<?php echo $this->contactform;?>

или это в представлении:

<?php echo $this->layout()->blog;?>

Я бы назвал их расширением. так что в основном то, что вы видите в шаблонах joomla / wordpress / concrete5.

2) Весь код, связанный с этим конкретным расширением, должен находиться в отдельном каталоге.

3) Мы должны иметь возможность выводить расширения только для определенных модулей / контроллеров, где они требуются. они не должны отображаться без необходимости, если они не будут отображаться.

4) каждое расширение может выводить несколько областей содержимого на странице.

Если у вас есть хорошо продуманная структура / подход, который вы используете - пожалуйста, оставьте ответ.

Спасибо:)

Ваш Ответ

1   ответ
6

посмотреть помощников, Просмотр помощников может быть простым, например, возвращать номер версии приложения, или сложным, как добавление html нескольким заполнителям. Например:

layout.phtml:

<h1><?php echo $this->placeholder('title'); ?>
<div class="sidebar">
    <?php echo $this->placeholder('sidebar'); ?>
</div>
<div class="content">
    <?php echo $this->layout()->content; ?>
</div>

в вашем представлении скрипт foo.phtml например:

<?php
    $this->placeholder('title')->set('Hello World!');
    $this->placeholder('sidebar')->set('Hello World!');
?>
<h1>Bar Bar!</h1>

Теперь, если вы хотите иметь возможность использовать это снова и снова, вы можете сделать это:

<?php
class Zend_View_Helper_MyHelper extends Zend_View_Helper_Abstract
{
    public function myHelper()
    {
        $this->view->placeholder('title')->set('Hello World!');
        $this->view->placeholder('sidebar')->set('Hello World!');
        return '<h1>Bar Bar!</h1>';
    }
}

Теперь замените код в вашем foo.pthml следующим:

<?php
echo $this->myHelper();

Оба примера вывода foo.phtml:

Привет, мир!Привет, мир!Бар Бар!

Конечно, это очень упрощенный пример, но я надеюсь, что это поможет вам в правильном направлении. Счастливого взлома!

Я бы не стал. Я оставляю обновления и вставки в форму или контроллер. Если у вас есть запрос на обновление / вставку, который вы планируете использовать повторно, я бы порекомендовал добавить логику непосредственно в саму модель. Fatmuemoo
Спасибо за ваш ответ! afaik я могу получить доступ к моделям из помощника вида для операций чтения. Но доступ к моделям для редактирования / обновления / записи из помощников представления не рекомендуется - верно? Stann

Похожие вопросы