Автор Тема: Добавление произвольного текстового блока в модуль и его вывод в шаблоне модуля  (Прочитано 1053 раз)

02 Октябрь 2015, 17:49:36
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как добавить в модуль (любой), например, в homefeatured надпись рядом с заголовком, но так, чтобы этот текст можно было ввести в настройках модуля?
02 Октябрь 2015, 21:11:08
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно добавить новую переменную в function install()
Configuration::updateValue('HOME_FEATURED_TEXT', 'My text');
Сохранение этой переменной в function getContent()
Configuration::updateValue('HOME_FEATURED_TEXT', Tools::getValue('HOME_FEATURED_TEXT'));
Вывод переменной в шаблоне function hookDisplayHome($params)
$this->smarty->assign(
array(
'my_text' => Configuration::get('HOME_FEATURED_TEXT'),
03 Октябрь 2015, 02:33:54
Ответ #2
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно добавить новую переменную в function install()
Спасибо!  :) А как добавить поле ввода текста в настройки модуля и выводить этот текст, написанный в настройках в шаблон .tpl?
03 Октябрь 2015, 11:52:10
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Через переменную конфигурации, как написал Mr.Sen можно добавить только для 1-го языка.
Если у вас сайт мультиязычный, то нужно создавать таблицу и сохранять текст в таблицы с учетом языковой версиии.

Выводить переменную в шаблоне так
{$my_text}
Для вывода поля в админке нужно добавить переменую в метод
public function renderForm()
{
...
        'input' => array(
array(
'type' => 'text',
'label' => $this->l('My text'),
'name' => 'HOME_FEATURED_TEXT',
'class' => 'fixed-width-xs',
),
....
и в
public function getConfigFieldsValues()
{
        return array(
'HOME_FEATURED_TEXT' => Tools::getValue('HOME_FEATURED_TEXT', Configuration::get('HOME_FEATURED_TEXT')),
...
20 Октябрь 2015, 19:56:57
Ответ #4
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля