Дополнительное свойство структуры сайта

#
Дополнительное свойство структуры сайта
Подскажите пожалуйста, в структуре сайта есть дополнительное свойство раздела сайта "Фото1", каковы его возможные пути использования? Я вот к чему: специфика сайта такова, что Инф. системы используются очень часто (более 200). Каждая из систем сама по себе тоже достаточна ёмка по наличию групп, подгрупп, элементов (плюс каждое из перечисленного несёт большой объём информации с перспективой развития). Т.е. в одной инф. системе может быть около 100 и более самостоятельных страниц. По структуре все системы схожи, а по содержанию естественно нет. Есть задача - обозначить ИС графически (например ИС про подшипники) - хотелось бы и чтоб все страницы носили этот графический значок, или ИС про болты - все страницы и разделы с изображением болта.
Возвращаюсь к началу, доп. свойство "Фото1" подойдёт для этого? Если да, то как это реализовать, а если нет (тогда поясните для чего это доп. свойство), то вопрос тот же: Как это реализовать? И последнее: На главной странице ИС должен быть крупный граф. значок, а на всех остальных маленький, но по месту размещения  - вверху, рядом с заголовком.
Заранее спасибо!
yestravel
#
Re: Дополнительное свойство структуры сайта
Да, дополнительное свойство для узла структуры, например, свойство типа файл, можно использовать для показа определенного изображения перед началом текста инфоэлемента. Для этого необходимо в это дополнительное свойство узла структуры, занимающегося отображением инфосистемы, загрузить определенное изображение, которое планируется отображать в элементах этой инфосистемы. Кроме того, для реализации подобного функционала требуется внести изменения в типовую динамическую страницу, на базе которой работают Ваши инфосистемы. В эту тип. дин. страницу необходимо добавить код:

/* Вывод списка */
      if($result['item'] == false)
      {
      ...
      }
      else
      {
         /* Определяем идентификатор информационного элемента */
         $item_id = $GLOBALS['LA_InformationSystem']->GetIdInformationItem($result['item'], $result['group']);
         
         //Получение имени изображения, прикрепленного к узлу структуры инфосистемы
$Structure = new Structure();
$masiv = $GLOBALS['LA_InformationSystem']->SelectInformationSystem($InformationSystem_id);
while($row = mysql_fetch_array($masiv))
{
$info_str_id = $row['structure_id'];
};
$prop_id = 6;
$mas = $Structure->GetAllStructurePropertyValuesOfProperty($prop_id);
while($row = mysql_fetch_array($mas))
{
if ($row['structure_id'] == $info_str_id)
$external_propertys['img_item'] = $row['structure_propertys_values_value'];
};

...
}


Где в качестве $prop_id необходимо подставить значение идентификатора дополнительного свойства типа файл для узлов структуры (можно посмотреть в списке всех дополнительных свойств для структуры).
Кроме того, в XSL-шаблон отображения подробной информации об инфоэлементе (в то место, где планируется вывод изображения) необходимо добавить следущее (пример приведен для случая, когда прикрепленный файл хранится в директории /images/):

<xsl:if test="/document/img_item != ''">
<img src="/images/{/document/img_item}"/>
</xsl:if>


Для вывода на главной странице ИС большого изображения можно добавить еще одно доп. свойство типа файл с этим большим изображением и выводить его в нужном месте аналогичным образом.
#
Re: Дополнительное свойство структуры сайта
Далеко уйти не удалось, файл закачал, код вставил, до XSL-шаблонов не дошёл, так, как при обновлении тестовой страницы выдана ошибка: Parse error: syntax error, unexpected '.' in /home/b/???/???/public_html/lib/lib_64/lib_64.php on line 115
yestravel
#
Re: Дополнительное свойство структуры сайта
Странно, потому что, при тестировании у нас локально этот пример работал. Присылайте адрес сайта, данные доступа к разделу администрирования и адрес страницы с ошибкой в службу техподдержки.
#
Re: Дополнительное свойство структуры сайта
Здравствуйте Наташа!
Огромное спасибо за помошь, всё отлично работает!!!
Хочу вернуться к теме, слегка упростив её, так как изменились задачи. Проделав все вышеописанные манипуляции с вашей помошью добились вывода изображения на страницы элементов, на главной странице ИС и страницах групп и подгрупп это изображение не выводится. Как реализовать вывод этого же изображения (доп. свойства) на страницах групп, подгрупп и главной странице ИС? Пробовали вставить:
<xsl:if test="/document/img_item != ''">
    <img src="/images/{/document/img_item}"/>
    </xsl:if>

в XSL-шаблон "Список элементов ИС" - ничего не получается... Подскажите где наша ошибка. Спасибо!!!
yestravel
#
Re: Дополнительное свойство структуры сайта
Проблема, скорее всего, в том что дополнительное свойство с изображением передается в XML только в том случае если мы находимся в элементе, т.е. если НЕ выполняется условие if($result['item'] == false). Для того, чтобы дополнительное свойство с изображением всегда передавалась в XML можно блок, в котором определяется значение доп. свойства, вынести перед условием, т.е. так:

if($result != false)
{
//Получение имени изображения, прикрепленного к узлу структуры инфосистемы
$Structure = new Structure();
$masiv = $GLOBALS['LA_InformationSystem']->SelectInformationSystem($InformationSystem_id);
while($row = mysql_fetch_array($masiv))
{
$info_str_id = $row['structure_id'];
};
$prop_id = 6;
$mas = $Structure->GetAllStructurePropertyValuesOfProperty($prop_id);
while($row = mysql_fetch_array($mas))
{
if ($row['structure_id'] == $info_str_id)
$external_propertys['img_item'] = $row['structure_propertys_values_value'];
};
/* Вывод списка */
if($result['item'] == false)
{
...
}
else
{
...
}
}
#
Re: Дополнительное свойство структуры сайта
Здравствуйте Наташа!
Огромное спасибо за помошь, всё прекрасно работает!!!
yestravel
#
Re: Дополнительное свойство структуры сайта
всегда пожалуйста
Авторизация