PRESTASHOP-страница дополнительной настройки

Я работаю над пользовательским модулем prestashop, и мне нужно добавить еще страницу конфигурации.

Пока я могу настроить его только на одной странице с помощью функции getContent() ,
как добавить больше страниц.

1 ответ

  1. Я бы предложил использовать tabs.

    Содержимое вкладок в функции можно получить getContent()из других функций модуля. Вы можете использовать FormHelperобе формы.

    Предположим, у вас есть settingsформа и statusesформа. Вы можете сделать что-то вроде этого:

    public function getContent()
    {
        $this->context->smarty->assign(array(
            'settingsHtml' => $this->renderSettingsForm(),
            'statusesHtml' => $this->renderStatusesForm()
        ));
    
        $configurationForm = $this->context->smarty->fetch($this->local_path.'views/templates/admin/configure.tpl');
        $this->html .= $configurationForm;
    
        return $this->html;
    }
    

    И тогда в вашем configure.tplфайле вы можете сделать вот так:

    <ul class="nav nav-tabs">
        <li role="presentation" class="settings"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">{l s='Settings' mod='yourmodulename'}</a></li>
        <li role="presentation" class="statuses"><a href="#statuses" aria-controls="statuses" role="tab" data-toggle="tab">{l s='Statuses' mod='yourmodulename'}</a></li>
    </ul>
    
    <div class="tab-content">
        <div role="tabpanel" class="tab-pane" id="settings">
            {$settingsHtml}
        </div>
    
        <div role="tabpanel" class="tab-pane" id="statuses">
            {$statusesHtml}
        </div>
    </div>