Перестали выводиться ярлыки

#
Перестали выводиться ярлыки
Здравствуйте, на сайте перестали выводиться ярлыки, в XML их вообще нет.
Структура такова, что в корневой группе содержаться информационные элементы, а в подгруппы уже разбросаны их ярлыки, недавно они перестали выводиться в подгруппе, XML:
<informationsystem id="16">
   <informationsystem_dir_id>0</informationsystem_dir_id>
   <structure_id>91</structure_id>
   <site_id>1</site_id>
   <name>Проекты</name>
   <description>&lt;h2&gt;Напольные покрытия в интерьере &amp;ndash; завершение нашей работы&lt;/h2&gt;
      &lt;p&gt;Окончание любого проекта для нас &amp;ndash; однозначно победа и достижение. Независимо от размеров, объемов и характеристик, к каждому заказу применяется индивидуальный подход.&lt;/p&gt;
      &lt;p&gt;Для того, чтобы найти идеальное решение нужно преодолеть как минимум две проблемы:&lt;/p&gt;
      &lt;ol&gt;
      &lt;li&gt;Заказчик хочет нечто, что трудно воплотить.&lt;/li&gt;
      &lt;/ol&gt;
      &lt;p&gt;Эта трудность, несмотря на кажущуюся простоту решения (выбирайте из каталога) не давала нам покоя. В итоге нам пришлось пригласить в команду хорошего дизайнера интерьеров напольных покрытий, который на первых этапах работы с клиентом создает проектное решение.&lt;/p&gt;
      &lt;ol start=&quot;2&quot;&gt;
      &lt;li&gt;Заказчик хочет конкретный материал.&lt;/li&gt;
      &lt;/ol&gt;
      &lt;p&gt;Ничего плохого в этом нет, но далеко не всегда заказчик хочет то, что ему нужно. Довольно распространенное решение для заказчика &amp;ndash; ламинат, либо ковролин далеко не всегда оказываются оптимальными по многим параметрам включая цену. Порой за счет логистики, идеально отлаженных бизнес процессов, монтажа мы можем дать интересную цену на более представительские напольные покрытия.&lt;/p&gt;
      &lt;h3&gt;Кроме того все наши решения на 100% долговечны.&lt;/h3&gt;
      &lt;p&gt;Мы гордимся своими завершенными проектами и не стесняемся показать их все.&lt;/p&gt;
   &lt;p&gt;За плечами компании крупнейшие проекты, где использовались напольные покрытия в интерьере бизнес-центров, жилых домов, офисных пространств, мест общественного питания. Объемы проводимых работ варьировались от стандартных квартир до огромных стадионов. Идеи, воплощенные в жизнь на долгие годы, отличались вычурностью, смелыми решения, и напротив, были сдержанными и лаконичными.&lt;/p&gt;</description>
   <use_captcha>1</use_captcha>
   <items_on_page>50</items_on_page>
   <format_date>%d.%m.%Y</format_date>
   <format_datetime>%d.%m.%Y %H:%M:%S</format_datetime>
   <url_type>1</url_type>
   <http>//ars-carpets.ru</http>
   <url>/proekty/</url>
   <captcha_id>33894</captcha_id>
   <siteuser_id>0</siteuser_id>
   <ОтображатьСсылкуНаАрхив>0</ОтображатьСсылкуНаАрхив>
   <ОтображатьСсылкиНаСледующиеСтраницы>1</ОтображатьСсылкиНаСледующиеСтраницы>
   <ТекущаяГруппа>13</ТекущаяГруппа>
   <show_comments>0</show_comments>
   <show_add_comments>0</show_add_comments>
   <group>13</group>
   <page>0</page>
   <part>0</part>
   <limit>50</limit>
   <total>0</total>
   <informationsystem_group id="11">
      <informationsystem_id>16</informationsystem_id>
      <siteuser_id>0</siteuser_id>
      <parent_id>0</parent_id>
      <name>По типу материалов</name>
      <description>&lt;p&gt;&lt;b&gt;Напольное покрытие способно задать стилистику в дизайне и стать ключевым акцентом в интерьере. Неважно, о жилом или коммерческом пространстве идет речь. Правильно выбранный материал одновременно решает несколько задач - это и эстетическая составляющая, и дополнительная теплоизоляция, и шумозащита, и специальные свойства: амортизация, токопроводимость, антискользящая поверхность и т.д.&lt;/b&gt;&lt;/p&gt;
         &lt;p&gt;&lt;img src=&quot;/images/proekty/pol-v-sportivnom-zale.jpg&quot; alt=&quot;пол в спортивном зале&quot; /&gt;&lt;/p&gt;
         &lt;h2&gt;Наплольные покрытие - наше любимое дело&lt;/h2&gt;
         &lt;p&gt;&lt;b&gt;Напольные покрытия &amp;ndash; наша страсть, и мы научились работать практически с любыми их разновидностями.&lt;/b&gt; Сегодня мы можем похвастаться большим опытом и немалым количеством реализованных проектов. И каждый новый заказчик для нас &amp;ndash; это новая возможность реализовать себя в любимом деле.&lt;/p&gt;
         &lt;hr /&gt;
         &lt;p&gt;&lt;big&gt;&lt;i&gt;Мы можем предложить своим клиентам весь спектр работ, связанный с напольными покрытиями, начиная от разработки дизайна и заканчивая укладкой. На каждом этапе с Вами будут работать настоящие профессионалы: художники, менеджеры, монтажники. Благодаря постоянной практике эти люди научились внимательно слушать заказчика и понимать, чего он действительно хочет. И результат говорит сам за себя!&lt;/i&gt;&lt;/big&gt;&lt;/p&gt;
         &lt;hr /&gt;
         &lt;h2&gt;Наши любимые материалы&lt;/h2&gt;
         &lt;p&gt;&lt;big&gt;&lt;b&gt;Хотим рассказать Вам о материалах, наиболее часто используемых в нашей работе. Само собой разумеется, что данный список &amp;ndash; это далеко не все покрытия, с которыми имеет дело наша команда. Однако предпочтение мы все же отдаём им, и скоро Вы поймете почему.&lt;/b&gt;&lt;/big&gt;&lt;/p&gt;
         &lt;h3&gt;Ковровые покрытия&lt;/h3&gt;
         &lt;p&gt;&lt;b&gt;Мягкие напольные покрытия &amp;ndash; это, прежде всего, уют.&lt;/b&gt; Если необходимо устроить комфортную и безопасную обстановку, снять стресс, подарить ощущение расслабленности, то альтернативу ковровому покрытию найти непросто. Лучшие отели, гостиницы, рестораны имеют на полу роскошные ковры и ковровые дорожки из натуральной шерсти, разработанные по индивидуальному дизайну. Но если Вас пугает сложный уход за пушистыми покрытиями естественного происхождения, обратите внимание на более практичные изделия из синтетических материалов.&lt;/p&gt;
         &lt;p&gt;Современные мягкие покрытия имеют множество разновидностей. Постелите на пол удобный ковролин, и помещение мгновенно преобразится. Закажите монтаж практичной модульной плитки, и, в случае порчи отдельного фрагмента, не придётся заменять все полотно целиком.&lt;/p&gt;
         &lt;p&gt;&lt;img src=&quot;/images/proekty/jarko-krasnyj-kovrolin.jpg&quot; alt=&quot;ярко красный ковролин&quot; /&gt;&lt;/p&gt;
         &lt;h3&gt;Покрытия из ПВХ&lt;/h3&gt;
         &lt;p&gt;Если линолеум ассоциируется у Вас с дешевым и неэкологичным покрытием, значит, Вы совершенно не знакомы с современными коммерческими его вариантами. Сегодня рулонное ПВХ покрытие не только способно реалистично имитировать любые материалы и текстуры, но и может обладать уникальными свойствами.&lt;/p&gt;
         &lt;p&gt;&lt;b&gt;В зависимости от назначения помещения мы предложим Вам:&lt;/b&gt;&lt;/p&gt;
         &lt;ul&gt;
         &lt;li&gt;&lt;b&gt;спортивный линолеум,&lt;/b&gt; отличающийся упругостью и травмобезопасностью;&lt;/li&gt;
         &lt;li&gt;&lt;b&gt;акустический линолеум,&lt;/b&gt; укладывающийся в местах с повышенным уровнем шума;&lt;/li&gt;
         &lt;li&gt;&lt;b&gt;противоскользящий линолеум,&lt;/b&gt; незаменимый в помещениях с большим риском поскользнуться;&lt;/li&gt;
         &lt;li&gt;&lt;b&gt;токопроводящий линолеум,&lt;/b&gt; снимающий проблему накопления статического электричества;&lt;/li&gt;
         &lt;li&gt;&lt;b&gt;плиточный линолеум или плитку ПВХ (LVT)&lt;/b&gt; &amp;ndash; инновационный материал непревзойденной стойкости.&lt;/li&gt;
         &lt;/ul&gt;
         &lt;p&gt;В приоритете гигиеничность, легкий уход и длительный срок службы &amp;ndash; выбирайте ПВХ!&lt;/p&gt;
         &lt;p&gt;&lt;img src=&quot;/images/proekty/vinilovaja-plitka.jpg&quot; alt=&quot;виниловая плитка в детском учреждении&quot; /&gt;&lt;/p&gt;
         &lt;h3&gt;Мармолеум&lt;/h3&gt;
         &lt;p&gt;&lt;b&gt;Натуральный линолеум из древесины, льна, джута и других материалов естественного происхождения&lt;/b&gt; &amp;ndash; выбор современного человека, желающего быть ближе к природе и одновременно иметь эстетичное, неприхотливое и максимально стойкое покрытие.&lt;/p&gt;
         &lt;p&gt;&lt;img src=&quot;/images/proekty/sinij-naturalnyj-marmoleum.jpg&quot; alt=&quot;синий натуральный мармолеум&quot; /&gt;&lt;/p&gt;
         &lt;h3&gt;Фальшпол&lt;/h3&gt;
         &lt;p&gt;&lt;b&gt;Система приподнятого пола, позволяющая скрыть абсолютно все неприглядные коммуникации, сохранив доступ к ним, - идеальное решение для коммерческих, промышленных и даже жилых помещений.&lt;/b&gt; Хотите иметь бескрайние возможности для дизайна, не натыкаясь на трубы и провода, Ваш выбор &amp;ndash; фальшпол!&lt;/p&gt;
         &lt;p&gt;&lt;img src=&quot;/images/proekty/falshpol-v-servernoj.jpg&quot; alt=&quot;фальшпол в серверной&quot; class=&quot;&quot; width=&quot;845&quot; height=&quot;350&quot; /&gt;&lt;/p&gt;
      &lt;p&gt;&lt;b&gt;Мы еще не убедили Вас? Тогда просто взгляните на наши завершенные проекты, в которых мы использовали данные материалы! У Вас есть собственные предпочтения? Наверняка Вы найдете их среди наших работ!&lt;/b&gt;&lt;/p&gt;</description>
      <sorting>0</sorting>
      <path>po-tipu-materialov</path>
      <image_large></image_large>
      <image_small></image_small>
      <indexing>1</indexing>
      <subgroups_count>8</subgroups_count>
      <subgroups_total_count>8</subgroups_total_count>
      <items_count>0</items_count>
      <items_total_count>155</items_total_count>
      <seo_title>Напольные покрытия с которыми предпочитает работать наша команда</seo_title>
      <seo_description>Предлагаем ознакомиться с реализованными проектами, отсортированными по типу материалов, которые мы использовали. Взгляните, как роскошно смотрятся в жилых и коммерческих интерьерах натуральные ковры, удобный ковролин и практичная ковровая плитка. А качественные покрытия из ПВХ – это стойкость, гигиеничность и исключительные свойства.</seo_description>
      <seo_keywords></seo_keywords>
      <siteuser_group_id>-1</siteuser_group_id>
      <active>1</active>
      <guid>7AD80DEB-EBB4-C6FE-936E-D89CF37C2931</guid>
      <sns_type_id>0</sns_type_id>
      <url>/proekty/po-tipu-materialov/</url>
      <dir>/upload/information_system_16/0/1/1/group_11/</dir>
      <informationsystem_group id="13">
         <informationsystem_id>16</informationsystem_id>
         <siteuser_id>0</siteuser_id>
         <parent_id>11</parent_id>
         <name>Ковровые покрытия Brintons Agnella</name>
         <description>&lt;p&gt;Ковры и ковровые покрытия польской компании &amp;laquo;&lt;a href=&quot;/katalog/kovrovye-pokrytiya/brintons-agnella/&quot;&gt;Brintons Agnella&lt;/a&gt;&amp;raquo; - это великолепные мягкие изделия, завоевавшие доверие и популярность по всему миру. Бренд широко известен в Великобритании, США, странах Евросоюза, покрытия данной марки уложены в знаменитых гостиничных сетях Starwood и Marriott, игровых казино Лас-Вегаса и проч.&lt;/p&gt;
            &lt;p&gt;Уверенные в безупречном качестве продукции фабрики ковров Agnella, мы рекомендуем её и своим клиентам. Наши заказчики по достоинству оценили огромное разнообразие дизайнов, а также возможность создания уникальных покрытий по индивидуальным проектам.&lt;/p&gt;
            &lt;h2&gt;Создание единого пространства&lt;/h2&gt;
            &lt;p&gt;Безграничные возможности, которые предоставляет компания &amp;laquo;Brintons Agnella S.A.&amp;raquo;, позволяют нам объединять различные помещения жилого или коммерческого объекта одной идеей. Ярким примером может послужить отель &amp;laquo;Гоголь&amp;raquo;, где тематика прикроватных ковриков в номерах перекликается с дизайном мягкого покрытия коридоров.&lt;/p&gt;
            &lt;p&gt;Уникальные технологии сделали возможным создание эксклюзивного ковра-гиганта для чайной гостиной отеля &quot;Four Seasons&quot; в Санкт-Петербурге, который является точной копией предыдущего мягкого покрытия. Кропотливая работа наших специалистов и иностранных партнеров позволила добиться потрясающего результата!&lt;/p&gt;
            &lt;p&gt;Отель Domina Prestige &amp;ndash; еще один яркий проект, где было использовано ковровое покрытие AGNELLA. 5 измерений в дизайне, созданным итальянцем Джанмарко Каванино, вдохновляет сочной палитрой и необыкновенной задумкой.&lt;/p&gt;
            &lt;h2&gt;Уникальность и Wow-эффект&lt;/h2&gt;
            &lt;p&gt;Если стоит задача оформить пространство стильно, смело и необычно, то трудно найти более подходящего исполнителя. Только взгляните на решение для ресторана отеля &quot;Domina Prestige St.Petersburg&quot;, где нами было уложено мягкое покрытие AGNELLA с весьма оригинальным дизайном.&lt;/p&gt;
            &lt;p&gt;А как Вам круглый ковер в БЦ &amp;laquo;Сенатор&amp;raquo;, изготовленный по индивидуальному проекту специально для данного заказчика? Гипнотическая магия рисунка очаровывает с первого взгляда, несомненно, очень интересный дизайн, сочетающий строгую лаконичную расцветку и завораживающую плавность бесконечных линий.&lt;/p&gt;
         &lt;p&gt;Вдохновляйтесь интересными решениями, любуйтесь безупречным исполнением! И обращайтесь к нам за великолепным оформлением своего интерьера!&lt;/p&gt;</description>
         <sorting>2</sorting>
         <path>kovrovye-pokrytiya-brintons-agnella</path>
         <image_large></image_large>
         <image_small></image_small>
         <indexing>1</indexing>
         <subgroups_count>0</subgroups_count>
         <subgroups_total_count>0</subgroups_total_count>
         <items_count>15</items_count>
         <items_total_count>15</items_total_count>
         <seo_title>Ковровые покрытия и ковры агнелла в интерьерах различных помещений</seo_title>
         <seo_description>Компания «АРС напольные покрытия» с удовольствием работает с польской фабрикой ковров «Brintons Agnella S.A.», изделия которой завоевали доверие и популярность по всему миру. Вам нужно объединить огромные пространства одной идеей? Мечтаете об индивидуальном дизайне мягкого покрытия? Это к нам!</seo_description>
         <seo_keywords></seo_keywords>
         <siteuser_group_id>-1</siteuser_group_id>
         <active>1</active>
         <guid>45029142-1670-5084-5FFE-A49982B44818</guid>
         <sns_type_id>0</sns_type_id>
         <url>/proekty/po-tipu-materialov/kovrovye-pokrytiya-brintons-agnella/</url>
         <dir>/upload/information_system_16/0/1/3/group_13/</dir>
      </informationsystem_group>
   </informationsystem_group>
   <informationsystem_item_properties>
      <property id="68">
         <property_dir_id>0</property_dir_id>
         <name>Ссылка на производителя</name>
         <description></description>
         <type>6</type>
         <default_value></default_value>
         <tag_name>href_producer</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="69">
         <property_dir_id>0</property_dir_id>
         <name>Ссылка на каталог</name>
         <description></description>
         <type>6</type>
         <default_value></default_value>
         <tag_name>href_katalog</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="80">
         <property_dir_id>0</property_dir_id>
         <name>Фотогалерея</name>
         <description></description>
         <type>2</type>
         <default_value></default_value>
         <tag_name>img</tag_name>
         <sorting>0</sorting>
         <multiple>1</multiple>
      </property>
      <property id="81">
         <property_dir_id>0</property_dir_id>
         <name>Количество лайков</name>
         <description></description>
         <type>0</type>
         <default_value>0</default_value>
         <tag_name>rate</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="90">
         <property_dir_id>0</property_dir_id>
         <name>Расположение обьекта</name>
         <description></description>
         <type>1</type>
         <default_value></default_value>
         <tag_name>rasp_object</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="91">
         <property_dir_id>0</property_dir_id>
         <name>Назначение помещения</name>
         <description></description>
         <type>1</type>
         <default_value></default_value>
         <tag_name>nazn_object</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="92">
         <property_dir_id>0</property_dir_id>
         <name>Материал</name>
         <description></description>
         <type>4</type>
         <default_value></default_value>
         <tag_name>mater_object</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="93">
         <property_dir_id>0</property_dir_id>
         <name>Комплектующие</name>
         <description></description>
         <type>1</type>
         <default_value></default_value>
         <tag_name>kompl_object</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="95">
         <property_dir_id>0</property_dir_id>
         <name>Дата проекта:</name>
         <description></description>
         <type>1</type>
         <default_value></default_value>
         <tag_name>data-pro</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="96">
         <property_dir_id>0</property_dir_id>
         <name>Дополнительная информация</name>
         <description></description>
         <type>1</type>
         <default_value></default_value>
         <tag_name>dopinfo</tag_name>
         <sorting>0</sorting>
         <multiple>0</multiple>
      </property>
      <property id="88">
         <property_dir_id>0</property_dir_id>
         <name>Площадь работ</name>
         <description></description>
         <type>0</type>
         <default_value></default_value>
         <tag_name>pl_rabot</tag_name>
         <sorting>10</sorting>
         <multiple>0</multiple>
      </property>
   </informationsystem_item_properties>
</informationsystem>


При редактировании ярлыка, у него абсолютно все поля пустые, не помню должно так быть или нет, мб какой то косяк с базой?
http://joxi.ru/52aEzZ0s43vWg2
Модератор
#
Re: Перестали выводиться ярлыки
PakoGonsalezZ,
Со следующей версии будет редактировать инфоэлемент, на который ссылается ярлык (как с товарами в магазине).
По вопросу вывода смотрите атрибуты тех инфоэлементов, на которые ссылаетесь - на активность, группу доступа, даты начала и окончания публикации.
#
Re: Перестали выводиться ярлыки
Активность, везде проставлена, группа доступа у инфоэлементов стоит Как у родителя, у самой инфосистемы стоит Все.
Даты публикаций вооще нигде не проставлен, тем не менее все подгруппы пустые, элементы есть только в корневой группе, там где ярлыки - пусто.
Если переношу элемент в подгруппу то элемент отображается
Модератор
#
Re: Перестали выводиться ярлыки
PakoGonsalezZ,
может снаружи (в коде ТДС) добавили какие-то ограничения, связанные с ярлыками. Нужно входить в центр администрирования и разбираться что, как и почему.
#
Re: Перестали выводиться ярлыки
Смотрел ТДС, ничего не нашел вот код
<?php

$Informationsystem_Controller_Show = Core_Page::instance()->object;

$xslName = $Informationsystem_Controller_Show->item
   ? Core_Array::get(Core_Page::instance()->libParams, 'informationsystemItemXsl')
   : Core_Array::get(Core_Page::instance()->libParams, 'informationsystemXsl');

$Informationsystem_Controller_Show->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ОтображатьСсылкуНаАрхив')->value(0)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ОтображатьСсылкиНаСледующиеСтраницы')->value(1)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('ТекущаяГруппа')->value($Informationsystem_Controller_Show->group)
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('show_comments')->value(
         intval(Core_Array::get(Core_Page::instance()->libParams, 'showComments', 1))
      )
)->addEntity(
   Core::factory('Core_Xml_Entity')
      ->name('show_add_comments')->value(
         intval(Core_Array::get(Core_Page::instance()->libParams, 'showAddComment', 2))
      )
);

$Informationsystem_Controller_Show
   ->tags(TRUE)
   ->comments(TRUE);

if ($Informationsystem_Controller_Show->item == 0)
{
   $Informationsystem_Controller_Show->itemsForbiddenTags(array('text'));
}
else
{
   if (Core_Array::getPost('add_comment') && Core_Array::get(Core_Page::instance()->libParams, 'showAddComment') != 0)
   {
      $Informationsystem_Controller_Show->cache(FALSE);

      $oLastComment = Core_Entity::factory('Comment')->getLastCommentByIp(
         Core_Array::get($_SERVER, 'REMOTE_ADDR')
      );

      $oXmlCommentTag = Core::factory('Core_Xml_Entity')
         ->name('document');

      $siteuser_id = 0;
      if (Core::moduleIsActive('siteuser'))
      {
         $oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();

         if ($oSiteuser)
         {
            $siteuser_id = $oSiteuser->id;
         }
      }

      $oComment = Core_Entity::factory('Comment');

      $allowable_tags = '<b><strong><i><em><br><p><u><strike><ul><ol><li>';
      $oComment->parent_id = intval(Core_Array::getPost('parent_id', 0));
      $oComment->active = Core_Array::get(Core_Page::instance()->libParams, 'addedCommentActive', 1) == 1 ? 1 : 0;
      $oComment->author = Core_Str::stripTags(Core_Array::getPost('author'));
      $oComment->email = Core_Str::stripTags(Core_Array::getPost('email'));
      $oComment->phone = Core_Str::stripTags(Core_Array::getPost('phone'));
      $oComment->grade = intval(Core_Array::getPost('grade', 0));
      $oComment->subject = Core_Str::stripTags(Core_Array::getPost('subject'));
      $oComment->text = nl2br(Core_Str::stripTags(Core_Array::getPost('text'), $allowable_tags));
      $oComment->siteuser_id = $siteuser_id;

      $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $Informationsystem_Controller_Show->item);

      $oXmlCommentTag
         ->addEntity($oComment)
         ->addEntity($oInformationsystem_Item);

      if (is_null($oLastComment) || time() > Core_Date::sql2timestamp($oLastComment->datetime) + ADD_COMMENT_DELAY)
      {
         $oInformationsystem = $Informationsystem_Controller_Show->getEntity();

         if ($oInformationsystem->use_captcha == 0 || $siteuser_id > 0 || Core_Captcha::valid(Core_Array::getPost('captcha_id'), Core_Array::getPost('captcha')))
         {
            $oComment->save();

            $oComment
               ->dateFormat($oInformationsystem->format_date)
               ->dateTimeFormat($oInformationsystem->format_datetime);

            $oInformationsystem_Item->add($oComment)->clearCache();

            $oXmlCommentTag->addEntity($oInformationsystem);

            // Отправка письма администратору
            $sText = Xsl_Processor::instance()
               ->xml($oXmlCommentTag->getXml())
               ->xsl(Core_Entity::factory('Xsl')->getByName(Core_Array::get(Core_Page::instance()->libParams, 'addCommentAdminMailXsl')))
               ->process();

            $aFrom = array_map('trim', explode(',', EMAIL_TO));

            $oCore_Mail_Driver = Core_Mail::instance()
               ->to(EMAIL_TO)
               ->from($aFrom[0])
               ->header('Reply-To', Core_Valid::email($oComment->email)
                  ? $oComment->email
                  : $aFrom[0])
               ->subject(Core::_('Informationsystem.comment_mail_subject'))
               ->message(trim($sText))
               ->contentType(Core_Array::get(Core_Page::instance()->libParams, 'commentMailNoticeType', 0) == 0
                  ? 'text/plain'
                  : 'text/html'
               )
               ->send();
         }
         else
         {
            $oXmlCommentTag->addEntity(Core::factory('Core_Xml_Entity')
               ->name('error_captcha')->value(1)
            );

            $oComment->text = Core_Str::br2nl($oComment->text);
            $Informationsystem_Controller_Show->addEntity($oComment);
         }
      }
      else
      {
         $oXmlCommentTag->addEntity(Core::factory('Core_Xml_Entity')
            ->name('error_time')->value(1)
         );

         $oComment->text = Core_Str::br2nl($oComment->text);
         $Informationsystem_Controller_Show->addEntity($oComment);
      }

      // Результат добавления комментария
      $xsl_result = Xsl_Processor::instance()
         ->xml($oXmlCommentTag->getXml())
         ->xsl(Core_Entity::factory('Xsl')->getByName(
            Core_Array::get(Core_Page::instance()->libParams, 'addCommentNoticeXsl'))
         )
         ->process();

      $Informationsystem_Controller_Show->addEntity(
         Core::factory('Core_Xml_Entity')
            ->name('message')->value($xsl_result)
      );
   }
}

// В корне выводим из всех групп
/*if ($Informationsystem_Controller_Show->group == 0)
{
   $Informationsystem_Controller_Show->group(FALSE);
}*/

$Informationsystem_Controller_Show
     ->informationsystemItems()
     ->queryBuilder()
     ->leftJoin('informationsystem_item_properties', 'informationsystem_items.informationsystem_id', '=', 'informationsystem_item_properties.informationsystem_id')
     ->leftJoin('property_value_ints', 'informationsystem_items.id', '=', 'property_value_ints.entity_id',
       array(
          array('AND' => array('informationsystem_item_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
       )
     )
     ->groupBy('informationsystem_items.id')
     ->where('property_value_ints.property_id', '=', 88)
     ->clearOrderBy()
     ->orderBy('property_value_ints.value', 'DESC');



$Informationsystem_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
   ->show();

И настройки
<?php

count($_GET) && Core_Page::instance()->error404();

$oInformationsystem = Core_Entity::factory('Informationsystem', Core_Array::get(Core_Page::instance()->libParams, 'informationsystemId'));

$Informationsystem_Controller_Show = new Informationsystem_Controller_Show($oInformationsystem);

$Informationsystem_Controller_Show
   ->limit($oInformationsystem->items_on_page)   
   ->parseUrl();

// Текстовая информация для указания номера страницы, например "страница"
$pageName = Core_Array::get(Core_Page::instance()->libParams, 'page')
   ? Core_Array::get(Core_Page::instance()->libParams, 'page')
   : 'страница';

// Разделитель в заголовке страницы
$pageSeparator = Core_Array::get(Core_Page::instance()->libParams, 'separator')
   ? Core_Page::instance()->libParams['separator']
   : ' / ';

if (!is_null(Core_Array::getGet('vote')))
{
   //$oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();
   $entity_id = intval(Core_Array::getGet('id'));

   if ($entity_id /*&& !is_null($oSiteuser)*/)
   {
      $entity_type = strval(Core_Array::getGet('entity_type'));
      $vote = intval(Core_Array::getGet('vote'));

      $oObject = Vote_Controller::instance()->getVotedObject($entity_type, $entity_id);

      if (!is_null($oObject))
      {
         //$oVote = $oObject->Votes->getBySiteuser_Id($oSiteuser->id);

         $vote_value = $vote ? 1 : -1;

         $deleteVote = 0;
         // Пользователь не голосовал ранее
      /*   if (is_null($oVote))
         {*/
            $oVote = Core_Entity::factory('Vote');
         //   $oVote->siteuser_id = $oSiteuser->id;
            $oVote->value = $vote_value;

         //   $oObject->add($oVote);
         /*}
         // Пользователь голосовал ранее, но поставил противоположную оценку
         elseif ($oVote->value != $vote_value)
         {
            $oVote->value = $vote_value;
            $oVote->save();
         }*/
         // Пользователь голосовал ранее и поставил такую же оценку как и ранее, обнуляем его голосование, как будто он вообще не голосовал
         /*else
         {
            $deleteVote = 1;
            $oVote->delete();
         }*/

         $aVotingStatistic = Vote_Controller::instance()->getRate($entity_type, $entity_id);

         Core_Page::instance()->response
         ->body(
            json_encode(array('value' => $oVote->value, 'item' => $oObject->id, 'entity_type' => $entity_type,
               'likes' => $aVotingStatistic['likes'], 'dislikes' => $aVotingStatistic['dislikes'],
               'rate' => $aVotingStatistic['rate'], 'delete_vote' => $deleteVote)
            )
         );
      }
   }

   Core_Page::instance()->response
         ->status(200)
         ->header('Pragma', "no-cache")
         ->header('Cache-Control', "private, no-cache")
         ->header('Vary', "Accept")
         ->header('Last-Modified', gmdate('D, d M Y H:i:s', time()) . ' GMT')
         ->header('X-Powered-By', 'HostCMS')
         ->header('Content-Disposition', 'inline; filename="files.json"');

   if (strpos(Core_Array::get($_SERVER, 'HTTP_ACCEPT', ''), 'application/json') !== FALSE)
   {
      Core_Page::instance()->response->header('Content-type', 'application/json; charset=utf-8');
   }
   else
   {
      Core_Page::instance()->response
         ->header('X-Content-Type-Options', 'nosniff')
         ->header('Content-type', 'text/plain; charset=utf-8');
   }

   if(Core_Array::getRequest('_'))
   {
      Core_Page::instance()->response
         ->sendHeaders()
         ->showBody();
      exit();
   }
}
/*
$aTitle = array($oInformationsystem->name);
$aDescription = array($oInformationsystem->name);
$aKeywords = array($oInformationsystem->name);

if (!is_null($Informationsystem_Controller_Show->tag) && Core::moduleIsActive('tag'))
{
   $oTag = Core_Entity::factory('Tag')->getByPath($Informationsystem_Controller_Show->tag);
   if ($oTag)
   {
      $aTitle[] = $oTag->seo_title != '' ? $oTag->seo_title : Core::_('Informationsystem.tag', $oTag->name);
      $aDescription[] = $oTag->seo_description != '' ? $oTag->seo_description : $oTag->name;
      $aKeywords[] = $oTag->seo_keywords != '' ? $oTag->seo_keywords : $oTag->name;
   }
}

if ($Informationsystem_Controller_Show->group)
{
   $oInformationsystem_Group = Core_Entity::factory('Informationsystem_Group', $Informationsystem_Controller_Show->group);

   do {
      $aTitle[] = $oInformationsystem_Group->seo_title != ''
         ? $oInformationsystem_Group->seo_title
         : $oInformationsystem_Group->name;

      $aDescription[] = $oInformationsystem_Group->seo_description != ''
         ? $oInformationsystem_Group->seo_description
         : $oInformationsystem_Group->name;

      $aKeywords[] = $oInformationsystem_Group->seo_keywords != ''
         ? $oInformationsystem_Group->seo_keywords
         : $oInformationsystem_Group->name;

   } while($oInformationsystem_Group = $oInformationsystem_Group->getParent());
}

if ($Informationsystem_Controller_Show->item)
{
   $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item', $Informationsystem_Controller_Show->item);

   $aTitle[] = $oInformationsystem_Item->seo_title != ''
      ? $oInformationsystem_Item->seo_title
      : $oInformationsystem_Item->name;

   $aDescription[] = $oInformationsystem_Item->seo_description != ''
      ? $oInformationsystem_Item->seo_description
      : $oInformationsystem_Item->name;

   $aKeywords[] = $oInformationsystem_Item->seo_keywords != ''
      ? $oInformationsystem_Item->seo_keywords
      : $oInformationsystem_Item->name;
}

if ($Informationsystem_Controller_Show->page)
{
   array_unshift($aTitle, $pageName . ' ' . ($Informationsystem_Controller_Show->page + 1));
}

if (count($aTitle) > 1)
{
   $aTitle = array_reverse($aTitle);
   $aDescription = array_reverse($aDescription);
   $aKeywords = array_reverse($aKeywords);

   Core_Page::instance()->title(implode($pageSeparator, $aTitle));
   Core_Page::instance()->description(implode($pageSeparator, $aDescription));
   Core_Page::instance()->keywords(implode($pageSeparator, $aKeywords));
}*/

Core_Page::instance()->object = $Informationsystem_Controller_Show;
Модератор
#
Re: Перестали выводиться ярлыки
PakoGonsalezZ,
то есть фильтрация (а затем и сортировка) по значению свойства, которого у ярлыков нет по определению, вас никак не смущает?
#
Re: Перестали выводиться ярлыки
Да, первое что я пробовал сделать, убрать этот код, ничего не изменилось
$Informationsystem_Controller_Show
     ->informationsystemItems()
     ->queryBuilder()
     ->leftJoin('informationsystem_item_properties', 'informationsystem_items.informationsystem_id', '=', 'informationsystem_item_properties.informationsystem_id')
     ->leftJoin('property_value_ints', 'informationsystem_items.id', '=', 'property_value_ints.entity_id',
       array(
          array('AND' => array('informationsystem_item_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
       )
     )
     ->groupBy('informationsystem_items.id')
     ->where('property_value_ints.property_id', '=', 88)
     ->clearOrderBy()
     ->orderBy('property_value_ints.value', 'DESC');
#
Re: Перестали выводиться ярлыки
Кэш почистил, забыл что на проекте есть кэширование.
Проблема была из-за этого, спасибо за подсказку
Добавил проверку на корневую директорию, так как фильтрация и сортировка была нужна именно там
Модератор
#
Re: Перестали выводиться ярлыки
PakoGonsalezZ,
Пожалуйста.
Авторизация