UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: imperiya-mebeli от 26 Февраля 2015, 08:32:42

Название: Неперехваченное исключение
Отправлено: imperiya-mebeli от 26 Февраля 2015, 08:32:42
после сбоя главные страницы сайтов выдают вот это:

Неперехваченное исключение

Ошибка (selectorException): Field "special_offer" is not presented in selected object types

#0 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/modules/catalog/__custom.php(575): selector->where('special_offer')
#1 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/modules/def_module.php(99) : eval()'d code(1): __custom_catalog->getSpecialOffers()
#2 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/modules/def_module.php(99): eval()
#3 [internal function]: def_module->__call('getSpecialOffer...', Array)
#4 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/system/subsystems/streams/udata/udataStream.php(99): catalog->getSpecialOffers()
#5 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/system/subsystems/streams/udata/udataStream.php(16): udataStream->executeMacros(Array, Array)
#6 [internal function]: udataStream->stream_open(Array)
#7 /home/virtwww/w_imperiya-meb_a9905e49/http/classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php(53): XSLTProcessor->transformToXml('udata://catalog...', 'rb', 4, NULL)
#8 /home/virtwww/w_imperiya-meb_a9905e49/http/libs/root-src/index.php(148): umiTemplaterXSLT->parse(Object(DOMDocument))
#9 /home/virtwww/w_imperiya-meb_a9905e49/http/index.php(7): require('/home/virtwww/w...')
#10 {main}


хотя остальные страницы работают нормально, пытался воспользоваться  вот этим примером: http://wiki.umisoft.ru/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0_%22Field_is_not_presented_in_selected_object_types%22

и правил файл __custom.php, но результата не какого не получил.
для примера сайт: http://imperiya-mebeli.ru/
и страничка с информацией: http://imperiya-mebeli.ru/allnews/

Название: Re:Неперехваченное исключение
Отправлено: imperiya-mebeli от 27 Февраля 2015, 07:45:08
а чем может грозить то что я из файла:
\http\classes\modules\catalog\__custom.php

удалю вот эти строки:
      $sel = new selector('pages');
      $sel->types('hierarchy-type')->name('catalog', 'object');
      $sel->where('special_offer')->equals('1');

без них вроде работает. может можно их как нибудь по другому исправить?
Название: Re:Неперехваченное исключение
Отправлено: Vladimir от 07 Марта 2015, 12:46:44
Тогда уж лучше удалить только строку
  $sel->where('special_offer')->equals('1');
иначе у вас теперь появляется сообщение о неинициализированной переменной.
А в целом причина в том, что вы или пересоздали или добавили новый тип данных, в котором нет поля с обозначением "special_offer". Добавьте такое, и все должно стать хорошо.

Как я предполагаю, разработчики делали выборку товаров с признаком "специальная цена"

Название: Re:Неперехваченное исключение
Отправлено: admin от 22 Марта 2015, 19:10:53
Резюмирую сообщение Владимира.
Верните код как был, но проследите, чтобы в каждом типе данных, который относится к товарам, было поле с идентификатором special_offer