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

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

fortuner

Хранитель порядка
Регистрация
26 Июн 2012
Сообщения
631
Реакции
1.238
Всем привет!
Ковыряю небольшой модуль, никак не могу въехать, почему не сохраняются настройки 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
Последнее редактирование:
Или здесь?
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');
    }
 
Попробуй отдебажить по шагам. Выводи через echo и print_r свои переменные и смотри, где не записывается. Ты дебажил?
 
$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_(айди статуса).
И такая ошибка для каждого переключателя.
Может попробуешь поставить себе на локалке этот модуль? Может получится починить его?
Спасибо еще раз!
 
Попробую посмотреть на днях, сейчас нет времени. На вскидку проверь, что STATUS передается в функцию.
 
Попробую посмотреть на днях, сейчас нет времени. На вскидку проверь, что 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;
    }
 
Вопрос решен, спасибо britoff за помощь!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху