Astra.CMS

 

 

Форум » Проблемы

Sitemap

Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.

  1 2
Автор Текст сообщения

AlexeyE
Сообщений: 27

Добрый день. У меня вопрос, где прочитать или поясните, как в конструкции карты сайта
<li><a href="{$link}">{$name}</a></li> /*перечень страниц*/
{if $content}
<ul>
{$content}/*перечень рубрик каталога*/
</ul>
{/if}
определить последние элементы, чтобы придать им отдельное оформление в страницах и подразделах каталога.
 
aristoc

admin
Сообщений: 1159

Если переменная {$content} пустая, значит дочерних узлов больше нет, соотв. узел последний.
 

AlexeyE
Сообщений: 27

Не совсем понятно. эта переменная выводит перечень категорий каталога (если есть), при чем здесь дочерние узлы. Нужно присвоить особый класс последнему элементу в этом подсписке.
И можно ли этот последний элемент вычислить для перечня страниц и каталогов? Если нет так нет. Можно в принципе обойтись.
<li><a href="{$link}">{$name}</a></li>
 
aristoc

admin
Сообщений: 1159

Речь о каком шаблоне? others/sitemap_box.tpl ?
Он используется для каждого узла дерева карты сайта.
<li{if !$content} class="aaa"{/if}><a href="{$link}">{$name}</a></li>
 

AlexeyE
Сообщений: 27

да, надо было сразу указать шаблон, точно - это он sitemap_box.tpl, теперь понятно, что вопрос был сформулирован неверно. Приведенный код присваивает класс всему дереву. Как же вычислить именно последний элемент в дереве и последний элемент в подкаталоге? Например,на странице карты выводится:

главная
первая
вторая
третья (каталог)
     три один
     три два
четыре

чтобы у "четвертой" и "три два", как у последних страниц в своих уровнях, был присвоен особый класс "ааа".
 
aristoc

admin
Сообщений: 1159

Тут вероятно нужно добавлять нужные класы уже js скриптом, после формирования страницы.
 
P0ZiTR0N

P0ZiTR0N
Сообщений: 73

Не хотелось бы апать тему, но может кому-то поможет в будущем:
Например,на странице карты выводится:
главная
первая
вторая
третья (каталог)
      три один
      три два
четыре

чтобы у "четвертой" и "три два", как у последних страниц в своих уровнях, был присвоен особый класс "ааа".
Если вы выводите список через section итерацию (loop), то у Смарты есть параметр "last". Например:
<ul>  {section name=i loop=$links}
 {if $smarty.section.i.last}   {*Если итерация по 'i' последняя*}             
  {assign var="class" value='class="last_link"'}  {*Эквивалент $class = 'class="last_link"' *}  
 {else}
  {assign var="class" value=''}
 {/if}
<li><a href="{$links[i].link}" {$class}> {$links[i].name} </a></li>
{/section}</ul>
Код адаптирован под одноуровневый loop, но по аналогии можно его "допилить" ($smarty.section.submenu.last)
 

marcom
Сообщений: 28

И так... глюки с "картой сайта" продолжаются.  sad

Версия Астры 2.07.09 Free
Версия модуля "Карта сайта" 2.01.04

Разделы сайта:
ГЛАВНАЯ
КАТАЛОГ ПРОДУКЦИИ
НОВОСТИ
ПУБЛИКАЦИИ
ОБРАТНАЯ СВЯЗЬ
КАРТА САЙТА

Все разделы подключены в "карте сайта"
Отображается только ОБРАТНАЯ СВЯЗЬ

Как, что, почему.....?????


Что характерно, на локальном сервере все «Гут».
 
aristoc

admin
Сообщений: 1159

Если на локальном все гут, то и на сайте должно быть гут. В чем разница?
 

marcom
Сообщений: 28

admin писал(а):
Если на локальном все гут, то и на сайте должно быть гут. В чем разница?

На локалке:
Веб-сервер: Apache 2.2.6
PHP: PHP 5.2.4
PERL: PERL 5.8.8 Build 822
MySQL: MySQL 5.0.45-nt
phpMyAdmin: phpMyAdmin 2.11.0
Библиотеки PHP :
BCmath, Calendar, Date, FTP, GD2, MySQL, ODBC, pcre v6.6, Session, Hash, Com_dotnet, Ctype, DOM, XML, LibXML, SimpleXML, XMLreader, XMLwriter, Zlib, iconv, Reflection, SPL, Tokenizer, WDDX (встроенные библиотеки)
+ MySQL, MySQLi, SQLite, GMP, Sockets, bzip2, XSL (библиотеки PECL)


На хостинге:
WebServer: Server version: Apache/2.2.21 (Unix)
Shell: GNU bash, version 4.2.10(1)-release (x86_64-redhat-linux-gnu)
Perl: This is perl 5, version 12, subversion 4 (v5.12.4) built for x86_64-linux-thread-multi
PHP: PHP 5.3.8 (cgi-fcgi) (built: Sep 28 2011 17:13:35)
MySQL client: mysql Ver 14.14 Distrib 5.5.14, for Linux (x86_64) using readline 5.1

ОСНОВНАЯ РАЗНИЦА В ВЕРСИИ PHP.

В версии 5.3.X много отличий от 5.2.Х.
Это может быть причиной ????.
 
aristoc

admin
Сообщений: 1159

Не думаю что может причиной. Включите режим отладки, может какие то ошибки покажет.
 

marcom
Сообщений: 28

admin писал(а):
Не думаю что может причиной. Включите режим отладки, может какие то ошибки покажет.


[error] [client ***.***.***.*** PHP Warning:  Parameter 1 to catalog_createMap() expected to be a reference, value given in /virt/homes/.../htdocs/modules/sitemap/sitemap.php on line 150, referer: http://Мой_сайт.com.ua/sitemap/

Так соответственно по каждому недостающему разделу.
 
  1 2

Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.