Ясно, что кусок php - это уже внедрение в HostCMS для динамического отражения того же меню, код которого я еще сохранил ниже под php. Код, создаваемый системой и написанный руками совпадает на все 100%. В этом легко убедиться, посмотрев исходный код страницы.
Но к списку, формируемому системой, НЕ ПРИМЕНЯЮТСЯ некоторые свойства css, в частности text-align: justify, из-за чего меню не растягивается на ширину своего блока. А то же меню, написанное руками, расположенное ниже, но внутри того же блока, отображается абсолютно верно, как и должно быть.
Что такое li class="helper" - это реализация динамического горизонтального отцентрированного, растянутого по всей ширине блока, меню.
<li>
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
<!-- Показывать ссылку, или нет -->
<xsl:if test="show_link=1">
<!-- Определяем адрес ссылки -->
<xsl:variable name="link">
<xsl:choose>
<!-- Если внешняя ссылка -->
<xsl:when test="is_external_link=1">
<xsl:value-of disable-output-escaping="yes" select="external_link"/>
</xsl:when>
<!-- Иначе если внутренняя ссылка -->
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<!-- Выделяем текущую страницу жирным (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">
<a class="current_menu" href="{$link}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:when>
<!-- Иначе обычный вывод с пустым стилем -->
<xsl:otherwise>
<a href="{$link}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- Если не показывать ссылку - выводим просто имя ссылки -->
<xsl:if test="show_link=0">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</xsl:if>
$("#main_menu_box > ul > li").boxShadow is not a function
[Прерывать на этой ошибке]
$("#main_menu_box > ul > li").boxShadow('0 0 5px #a3a3a3');
add.js (строка 14)
"NetworkError: 404 Not Found -
bg_top.png
"NetworkError: 404 Not Found -
Может есть иное решение в xslt, чтобы не было так сложно с этим дополнительным элементом helper и разделителями, выделенными в отдельные пункты меню? В установленной системе пересмотрел все шаблоны, не нашел.
2. Если из DOM-модели удалить первое меню, то второе отображается абсолютно корректно. Оставьте только генерируемое меню и проверьте работу.
второе меню отображается корректно и при включенном php меню (№1) и при выключенном.
Но я html вариант меню должен убрать, чтобы меню поддерживалось динамически при изменении его пунктов.
Отключать конечно пробовал. Результат все тот же - меню отображается криво.
Отключил html вариант:
Куда вам сообщить доступ в админку?
Насчет ошибок не совсем понял - где. Буду разбираться.