Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Неперехваченное исключение

Автор KotikMurzikРаздел Наполнение сайтов

Ответов: 18
Просмотров: 21602
Последний ответ 25 Апреля 2013, 09:53:47
от shoto

0 Пользователей и 1 Гость просматривают эту тему.

Неперехваченное исключение
« : 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/

« Последнее редактирование: 26 Февраля 2015, 08:40:34 от imperiya-mebeli »

Re:Неперехваченное исключение
« Ответ #1 : 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');

без них вроде работает. может можно их как нибудь по другому исправить?

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #2 : 07 Марта 2015, 12:46:44 »
Тогда уж лучше удалить только строку
  $sel->where('special_offer')->equals('1');
иначе у вас теперь появляется сообщение о неинициализированной переменной.
А в целом причина в том, что вы или пересоздали или добавили новый тип данных, в котором нет поля с обозначением "special_offer". Добавьте такое, и все должно стать хорошо.

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


*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Неперехваченное исключение
« Ответ #3 : 22 Марта 2015, 19:10:53 »
Резюмирую сообщение Владимира.
Верните код как был, но проследите, чтобы в каждом типе данных, который относится к товарам, было поле с идентификатором special_offer