Модуль Помощь с модулем - не сохраняются настройки

Статус
В этой теме нельзя размещать новые ответы.

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.234
Всем привет!
Ковыряю небольшой модуль, никак не могу въехать, почему не сохраняются настройки switch-ей, гляньте, пожалуйста.
По всей видимости ошибка где-то здесь
PHP:
    public function getConfigFieldsValues()
    {
        $config = array(
            'DASHPRODUCT_NBR_SHOW_LAST_ORDER' => Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER')
        );
      
        $statuses = $this->getOrderStatusName();
        foreach ($statuses as $status)
        {
            $config1 = array('STATUS_'.$status['id'] => Configuration::get('STATUS_'.$status['id']));
            array_merge($config, $config1);
        }
      
        return $config;
    }
Но что-то я совсем туплю :(
 

Вложения

  • exportorders.zip
    62,6 KB · Просмотры: 5
Последнее редактирование:

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.234
Или здесь?
PHP:
    public function hookDashboardZoneTwo($params)
    {
        $this->context->smarty->assign(
            array(
                'DASHPRODUCT_NBR_SHOW_LAST_ORDER' => Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER'),
                
                'date_from' => Tools::displayDate($params['date_from']),
                'date_to' => Tools::displayDate($params['date_to']),
                'exportorders_config_form' => $this->renderConfigForm(),
            )
        );

        $statuses = $this->getOrderStatusName();
        foreach ($statuses as $status)
        {
            $this->context->smarty->assign(
                array(
                    'STATUS_'.$status['id'] => Configuration::get('STATUS_'.$status['id'])
                )
            );
        }
       
        return $this->display(__FILE__, 'exportorders.tpl');
    }
 

maxbrus

Создатель
Регистрация
26 Июл 2013
Сообщения
20
Реакции
13
Попробуй отдебажить по шагам. Выводи через echo и print_r свои переменные и смотри, где не записывается. Ты дебажил?
 

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.234
$status['id'] что содержит?
Привет! Спасибо, что откликнулся!
Содержит id статуса заказа.
Дебажить не получается - это переписанный модуль из стандартного набора с аяксом и прочими перделками, а как вывести ошибки с аяксом, я не очень знаю.
Выводил и вроде все переменные выводятся как надо.
Вот еще кусок, который у меня вызывает сомнения:
PHP:
        $statuses = array();
        $statuses = $this->getOrderStatusName();
        $status_options = array(
            array( 'id' => 'status_on', 'value' => 1, 'label' => $this->l('Yes')),
            array( 'id' => 'status_off', 'value' => 0, 'label' => $this->l('No')),
            );
        foreach ($statuses as $status)
        {
            $fields_form['form']['input'][] = array(
                'id' => $status['id'],
                'type' => 'switch',
                'label' => $status['state_name'],
                'name' => 'STATUS_'.$status['id'],
                'is_bool' => true,
                'values' => $status_options,
            );
        }
Собственно он выводит переключатель switch для каждого статуса.
Ошибка такая: Undefined index: STATUS_(айди статуса).
И такая ошибка для каждого переключателя.
Может попробуешь поставить себе на локалке этот модуль? Может получится починить его?
Спасибо еще раз!
 

maxbrus

Создатель
Регистрация
26 Июл 2013
Сообщения
20
Реакции
13
Попробую посмотреть на днях, сейчас нет времени. На вскидку проверь, что STATUS передается в функцию.
 

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.234
Попробую посмотреть на днях, сейчас нет времени. На вскидку проверь, что STATUS передается в функцию.
Скину $20 за помощь :)
Скорее всего в первом куске что-то не так.
Вот, кстати, функция которая выводит id и названия, но тут вроде все ок
PHP:
    public function getOrderStatusName()
    {
        $all_states = OrderState::getOrderStates($this->context->language->id);
        foreach ($all_states as $state)
        {
            $statuses[] = array(
                'id' => $state['id_order_state'],
                'state_name' => $state['name']
            );
        }
        return $statuses;
    }
 

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.234
Вопрос решен, спасибо britoff за помощь!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху