Искать  
 
   
 
Как избавиться от id="my_custom_id" в выводе exp:weblog:categories?
Отправлено: 06 Май 2010 05:48 P.M.   [ Игнорировать ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02

Всем доброго времени суток!

Столкнулся с затруднением небольшим при выводе категорий... Использую следующий код:

<ul class="topnav">
   <!-- 
Далее формирую запрос для вывода информации о необходимых разделах -->
   
{exp:query sql="SELECT weblog_id, blog_name, blog_title FROM exp_weblogs WHERE weblog_id != '7' ORDER BY weblog_id"}
   
<!-- использую результаты запроса для формирования первого уровня меню -->
      <
li>
         <
a href="{path=weblog/{blog_name}}">{blog_title}</a>
         <!-- 
формирую второй уровень менюсостоящий из названий категорий -->
         
{exp:weblog:categories weblog="{blog_name}" parent_only="yes" style="nested" class="subnav" disable="category_fields" show_empty="no"}
            
<a href="{path=weblog/{blog_name}}">{category_name}</a>
         
{/exp:weblog:categories}
      
</li>
   
{/exp:query} 
</ul

Так вот в данном случае на выходе получаю примерно следующее:

<ul class="topnav">

   <
li>
   <
a href="ссылка на weblog">Weblog name</a>
      <
ul id="nav_categories" class="subnav">
         <
li>
         <
a href="ссылка на категорию">Category name</a>
         </
li>
      </
ul>
   </
li>

   <
li>
   <
a href="ссылка на weblog">Weblog name</a>
      <
ul id="nav_categories" class="subnav">
         <
li>
         <
a href="ссылка на категорию">Category name</a>
         </
li>
      </
ul>
   </
li>    

   <
li>
   <
a href="ссылка на weblog">Weblog name</a>
      <
ul id="nav_categories" class="subnav">
         <
li>
         <
a href="ссылка на категорию">Category name</a>
         </
li>
      </
ul>
   </
li>

</
ul

Как видите, при таком подходе повторяется id=“nav_categories”, подставляемый по дефолту тегом exp:weblog:categories, что, разумеется, недопустимо.

Подскажите, как от него избавиться, сохранив конструкцию... Или предложите другую конструкцию.

Спасибо!

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль
 
 
Отправлено: 06 Май 2010 06:35 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Насколько принципиально использовать ID?
Для повторяющихся элементов можно ведь calss…

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 06 Май 2010 07:05 P.M.   [ Игнорировать ]   [ # 2 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

Ну если проблема в том, что id не уникальное, то его проще заменить на уникальное

<ul class="topnav">
   <!-- 
Далее формирую запрос для вывода информации о необходимых разделах -->
   
{exp:query sql="SELECT weblog_id, blog_name, blog_title FROM exp_weblogs WHERE weblog_id != '7' ORDER BY weblog_id"}
   
<!-- использую результаты запроса для формирования первого уровня меню -->
      <
li>
         <
a href="{path=weblog/{blog_name}}">{blog_title}</a>
         <!-- 
формирую второй уровень менюсостоящий из названий категорий -->
         
{exp:weblog:categories weblog="{blog_name}" parent_only="yes" style="nested" class="subnav" disable="category_fields" show_empty="no" id="{blog_name}"}
            
<a href="{path=weblog/{blog_name}}">{category_name}</a>
         
{/exp:weblog:categories}
      
</li>
   
{/exp:query} 
</ul

можно конечно и с  style=“linear” пошаманить и формировать весь список самостоятельно.

p.s. ну или воспользоваться плагином замены. Но я все же выбрал бы первый вариант.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 06 Май 2010 08:57 P.M.   [ Игнорировать ]   [ # 3 ]
Студент
Avatar
RankRank
Всего сообщений:  150
Зарегистрирован  2008-02-02

Да, решение подходит! Спасибо!
(немного грустно, что сам не додумался smile) )

А вообще убрать ID, как я понимаю, не вмешиваясь в файлы CMS, не получится... ???

 Подпись 

Запустил WEB-BRICKS - ресурс для web-мастеров. Прошу любить и жаловать!

Профиль