Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

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

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Привет всем.
Помогите разобраться.
Есть каталог, в нем 3 объекта с разными датами. У объектов есть поле publish_time (добавлял его в шаблонах данных).
Пробовал делать через выборку usel:
<selection>
<target result="pages">
  <type module="catalog" method="object" />
  <category depth="4">{1}</category>
</target>
<sort order="descending">publish_time</sort>
</selection>
Выдает:
Цитировать
Field "publish_time" is not presented in selected object types
Пробовал писать в адресной строке:
udata/catalog/getObjectsList/0/53/0/0/0/publish_time/1

выдает:
Warning: file_get_contents(udata://catalog/getObjectsList/0/53/0/0/0/publish_time/1): failed to open stream: "udataStream::stream_open" call failed in D:\OpenServer\domains\metersell.ru\libs\root-src\releaseStreams.php on line 80

Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\metersell.ru\libs\root-src\releaseStreams.php:80) in D:\OpenServer\domains\metersell.ru\libs\errors.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\metersell.ru\libs\root-src\releaseStreams.php:80) in D:\OpenServer\domains\metersell.ru\libs\errors.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\metersell.ru\libs\root-src\releaseStreams.php:80) in D:\OpenServer\domains\metersell.ru\libs\errors.php on line 16

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

Ошибка (databaseException): Enable backtrace for debug.

что делаю не правильно?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #1 : 07 Июля 2013, 03:48:23 »
если есть сообщение "Field "publish_time" is not presented in selected object types"

значит в типе данных нет такого поля... в каком типе данных вами было добавленно поле 'publish_time'?

Цитировать
Пробовал писать в адресной строке:
udata/catalog/getObjectsList/0/53/0/0/0/publish_time/1
вы с tpl шаблонизатором работаете га сайте?

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #2 : 09 Июля 2013, 13:40:49 »
Цитировать
вы с tpl шаблонизатором работаете га сайте?
xslt

Цитировать
значит в типе данных нет такого поля... в каком типе данных вами было добавленно поле 'publish_time'?

такое поле есть, если в админке посмотреть то дата и время записывается.
Но когда просматриваешь страницу объекта по протоколу upage - publish_time не виден.

в каком типе данных вами было добавленно поле 'publish_time' - раздел каталога

Добавил поле publish_time в объекты каталога - результат тот же.
« Последнее редактирование: 09 Июля 2013, 14:04:02 от thecoder »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #3 : 09 Июля 2013, 14:47:50 »
попробуйте указать type через id, если id у типа данных с полем publish_time равен 13, то примерно так
<selection>
<target result="pages">
  <type id="13" />
  <category depth="4">{1}</category>
</target>
<sort order="descending">publish_time</sort>
</selection>

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #4 : 09 Июля 2013, 15:10:08 »
Wrong object type given

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #5 : 09 Июля 2013, 15:10:47 »
если в админке руками меняю поле publish_time, то дата выводится как положено только не сортируется

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #6 : 09 Июля 2013, 15:16:58 »
И еще понять не могу. поле publish_time есть, данные в него заносятся (видно через админку), а когда смотришь на страницу через upage этого поля нет.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #7 : 09 Июля 2013, 15:47:32 »
Wrong object type given

а вы точно свой id вписали? или взяли мои 13?

И еще понять не могу. поле publish_time есть, данные в него заносятся (видно через админку), а когда смотришь на страницу через upage этого поля нет.

скорее всего что в системе стоит запрет на работу с полем publish_time, так как система скрывает некоторые системные поля. Попробуйте создать новое поле для даты, только назовите его как-нибудь по своему? что-то вроде "vremya" ))

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #8 : 09 Июля 2013, 16:39:28 »
Что-то не получается.
По usel выводит следующее:

<udata xmlns:xlink="http://www.w3.org/TR/xlink" generation-time="0.034175">
<page id="109" parentId="53" link="/realty/flat/sell/_/" is-active="1" object-id="27841" type-id="833" update-time="1373372805" alt-name="_" xlink:href="upage://109">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<page id="110" parentId="53" link="/realty/flat/sell/1/" is-active="1" object-id="27842" type-id="833" update-time="1373372726" alt-name="1" xlink:href="upage://110">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<page id="111" parentId="53" link="/realty/flat/sell/2/" is-active="1" object-id="27843" type-id="833" update-time="1373373173" alt-name="2" xlink:href="upage://111">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<total>3</total>
</udata>

Есть ли какой нибудь вариант сделать сортировку по значению update-time?
Если в запрос добавляю:
<sort order="descending">update-time</sort>
пишет
"Field "update-time" is not presented in selected object types"

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #9 : 09 Июля 2013, 16:49:45 »
Что-то не получается.
По usel выводит следующее:

<udata xmlns:xlink="http://www.w3.org/TR/xlink" generation-time="0.034175">
<page id="109" parentId="53" link="/realty/flat/sell/_/" is-active="1" object-id="27841" type-id="833" update-time="1373372805" alt-name="_" xlink:href="upage://109">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<page id="110" parentId="53" link="/realty/flat/sell/1/" is-active="1" object-id="27842" type-id="833" update-time="1373372726" alt-name="1" xlink:href="upage://110">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<page id="111" parentId="53" link="/realty/flat/sell/2/" is-active="1" object-id="27843" type-id="833" update-time="1373373173" alt-name="2" xlink:href="upage://111">
<basetype id="6" module="catalog" method="object">Объекты каталога</basetype>
<name/>
</page>
<total>3</total>
</udata>

Есть ли какой нибудь вариант сделать сортировку по значению update-time?
Если в запрос добавляю:
<sort order="descending">update-time</sort>
пишет
"Field "update-time" is not presented in selected object types"

1. из вашего ответа не понятно почему у вас не работала до этого, а сейчас заработала usel выборка.... Поменяли id у типа данных?

2. Я уже писал вам, что система вполне может отказывать вам в работе с этим полем из-за того, как оно называется. Создайте новое и если сортировка по новому полю заработает, значит я был прав в своем предположении.

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #10 : 09 Июля 2013, 16:57:27 »
Цитировать
из вашего ответа не понятно почему у вас не работала до этого, а сейчас заработала usel выборка.... Поменяли id у типа данных?

не менял, просто из выборки убрал сортировку и выборка работает, как только добавляю сортировку (создал новое поле qwerty) выдает:
Цитировать
Field "qwerty" is not presented in selected object types

*

thecoder

  • *
  • 44
  • +0/-0
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #11 : 09 Июля 2013, 17:18:51 »
сортировка по usel работает. admin ты оказался прав, надо указать type через id.
Почему первый раз не получилось хз.... Наверное в такую жару надо работать не более 2-х часов.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Сортировка по дате объектов каталога
« Ответ #12 : 09 Июля 2013, 17:20:00 »
все хорошо, что хорошо кончается)