Как получить доступ к контекстному компоненту в классе контроллера Prestashop?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как получить доступ к контекстному компоненту в классе контроллера Prestashop?

Сообщение Anonymous »

Я сталкивался с этой проблемой каждый раз, когда писал модуль для Prestashop.
I Im On Versions> 8.1 (8.2.1 во время вопроса), и эта проблема может или не может применить к версии 9 и новым, для которого контекстный компонент был «рефакторирован» (согласно документации). $ this-> context .
, в то время как это, кажется, работает для классов, расширяющих класс модуля, когда используется в подклассе контроллера (например, класс, расширяющий ModuleAdminController).

Код: Выделить всё

// Some use statements

class MyController extends ModuleAdminController
{

public function __construct()
{
$this->bootstrap = true;
$this->list_no_link = true;
$this->context = Context::getContext();
$this->lang = false;
$this->allow_export = true;

// Some code

$statuses = OrderState::getOrderStates((int)$this->context->language->id);
foreach ($statuses as $status) {
$this->statuses_array[$status['id_order_state']] = $status['name'];
}

// Other code
}
}
< /code>
Работает вышеуказанный код. Я могу получить доступ к языковому свойству в контекстном компоненте. Тем не менее, это не должно потребоваться в соответствии с документацией, а также, что этот код идентифицируется как ошибка Valdator модуля Prestashop, поскольку «функции и методы Prestashop не используются должным образом». и Errorexception "попытка прочитать свойство" язык "на NULL". поднимается. (Я также проверяю с dd () 
).
У кого -нибудь есть, что я делаю не так?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ller-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»