Configuration :: get () возвращает пустое значение в контроллере PrestaShop 1.6 - PullRequest
1 голос
/ 29 мая 2019

Я использую PrestaShop 1.6.1.0

В моем модуле есть поле для поддержки разных языков, postProcess() выглядит так:

protected function postProcess()
{

  $languages = Language::getLanguages(false);
  $values = array();

  foreach ($languages as $lang)
  {
    $values['CUSTOMPAGECONFIGURATION_HEADING_TEXT'][$lang['id_lang']] = Tools::getValue('CUSTOMPAGECONFIGURATION_HEADING_TEXT_'.$lang['id_lang']);
  }
  Configuration::updateValue('CUSTOMPAGECONFIGURATION_HEADING_TEXT', $values['CUSTOMPAGECONFIGURATION_HEADING_TEXT'], true);
  return $this->displayConfirmation($this->l('The settings have been updated.'));
}

Проблема:

Когда я пытаюсь получить значение этой переменной конфигурации в пользовательском контроллере (путь: /controllers/front/CustomPageController.php), как показано ниже, он не получает никаких результатов:

$headtxt = Configuration::get('CUSTOMPAGECONFIGURATION_HEADING_TEXT');
print_r($headtxt);
exit;

Этоничего не печатать.Я хочу получить это значение в контроллере, но он не работает и возвращает пустую строку.

Сайт использует PrestaShop 1.6.1.0, и я перепробовал много доступных кодов.Я что-то упустил?

Я использую этот код в новом контроллере, созданном мной для пользовательской страницы:

$headtxt = Configuration::get('CUSTOMPAGECONFIGURATION_HEADING_TEXT');
print_r($headtxt);
exit;

Я ожидаю вывода результатов переменной конфигурации, сохраненной postProcess()способ.

1 Ответ

0 голосов
/ 29 мая 2019

Привет @Ankur и добро пожаловать в SO!

В вашем методе postProcess() вы сохраняете это значение конфигурации как многоязычное значение.

Однако при вызове статического Configuration::get()метод, мне кажется, вы забыли упомянуть идентификатор языка, вот прототип функции:

public static function get($key, $idLang = null, $idShopGroup = null, $idShop = null, $default = false)

Это должно работать:

$id_lang = (int)$this->context->cookie->id_lang
$headtxt = Configuration::get('CUSTOMPAGECONFIGURATION_HEADING_TEXT', $id_lang);
print_r($headtxt);
exit;
...