LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 02:59:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: [Решено] Навигация по странице блога  (Прочитано 1044 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
somick
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 121


« : 23.05.2010, 15:30:47 »

Вопрос такой возник, без помощи зала че-т я не осилил. Имеем страницу, отображенную в виде блога. Допустим, это "Главная". Необходимо организовать навигацию по странице при помощи некоего модуля с меню. Получается, что материалы должны иметь некий якорь, на который можно сделать ссылку.

Способ, который пришел на ум мне: вставлять перед заголовком что-то типа <a name="$id_материала">, и переделать mod_latestnews, чтобы ссылки были вида <a href="$id_материала"></a>.

Но пошарившись по форумы в поисках ответа на вопрос "в какой переменной содержится ID и как его вызвать на странице", я понял, что это очень геморойный вариант. Может, есть какой-то более стандартный способ? Может, расширение какое-то...
« Последнее редактирование: 02.09.2010, 21:46:49 от 4webspot » Записан
effrit
Группа развития
*****

Репутация: +521/-6
Offline Offline

Пол: Мужской
Сообщений: 5860


effrit.com


« Ответ #1 : 23.05.2010, 15:57:42 »

не понял, чем не подходит ID статьи как уникальный якорь?
http://joomlaforum.ru/index.php/topic,95604.new.html
перекрываешь шаблон блога своим и модуль хакаешь
Записан
somick
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 121


« Ответ #2 : 23.05.2010, 16:17:38 »

не понял, чем не подходит ID статьи как уникальный якорь?
http://joomlaforum.ru/index.php/topic,95604.new.html
перекрываешь шаблон блога своим и модуль хакаешь
Дело в том, что для вызова ID статьи нужно иметь базовые знания в PHP, а я только синтаксис немного, не то чтобы понимаю, пугаться перестал недавно Azn Темку я не видел, сейчас буду разбираться.

Пока что я нашел вот какой вариант для нешарящих в ПХП. Может, пригодится кому-то.  Есть в HTML папке шаблона  такой код (в соответствующем файле):
Код:
<a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
Это он показывает заголовок страниц. Заменить на
Код:
<a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<a name="<?php echo $this->escape($this->item->title); ?>"></a><?php echo $this->escape($this->item->title); ?>

Oстанется сделать ссылку в меню такого вида: #Заголовок. И не юзать в заголовках такие кавычки -".

Или, если меню не устраивает ковырнуть mod_latestnews в папке tmpl, файле default.php
Цитировать
<?php foreach ($list as $item) :  ?>
   <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
      <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
         <?php echo $item->text; ?></a>
   </li>
<?php endforeach; ?>
заменить на:
Цитировать
<?php foreach ($list as $item) :  ?>
   <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
      <a href="#<?php echo $item->text; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
         <?php echo $item->text; ?></a>
   </li>
<?php endforeach; ?>
Тоже работает. И главное - никакого PHP знать не надо.

Пойду осиливать код. По ID все-таки элегантнее.  Спасибо.
« Последнее редактирование: 23.05.2010, 16:37:00 от somick » Записан
effrit
Группа развития
*****

Репутация: +521/-6
Offline Offline

Пол: Мужской
Сообщений: 5860


effrit.com


« Ответ #3 : 23.05.2010, 16:46:29 »

ну тебе осталось в шаблон (blog_item.php) дописать в нужном месте вызов
<?php echo $this->item->id; ?>
и будет тебе уникальный номер
Записан
somick
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 121


« Ответ #4 : 23.05.2010, 17:05:06 »

ну тебе осталось в шаблон (blog_item.php) дописать в нужном месте вызов
<?php echo $this->item->id; ?>
и будет тебе уникальный номер
Во! Вот именно это я и искал. Спасибо. +
Я-то по темности своей его через $id пытался везде вызвать Azn
Записан
Igoritaly
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #5 : 02.09.2010, 21:35:02 »

ну тебе осталось в шаблон (blog_item.php) дописать в нужном месте вызов
<?php echo $this->item->id; ?>
и будет тебе уникальный номер

А какой уникальный номер прописывать? Если меню много? и в какое нужное место?
Записан
Igoritaly
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #6 : 02.09.2010, 21:42:44 »

Есть в HTML папке шаблона  такой код (в соответствующем файле):
Код:
<[quote author=somick link=topic=115108.msg632157#msg632157 date=1274617058]

В каком именно файле менять? Там три файла с таким же кодом:
components\com_content\views\category\tmpl\blog_item.php
components\com_content\views\section\tmpl\blog_item.php
components\com_content\views\fronypage\tmpl\default_item.php


[/quote]
Записан
effrit
Группа развития
*****

Репутация: +521/-6
Offline Offline

Пол: Мужской
Сообщений: 5860


effrit.com


« Ответ #7 : 02.09.2010, 21:53:44 »

http://joomlaforum.ru/index.php/topic,84140.new.html
Записан
effrit
Группа развития
*****

Репутация: +521/-6
Offline Offline

Пол: Мужской
Сообщений: 5860


effrit.com


« Ответ #8 : 02.09.2010, 21:55:33 »

А какой уникальный номер прописывать? Если меню много? и в какое нужное место?
эти строки сами тебе выдадут уникальный номер СТАТЬИ (ID стаьи)
тебе его надо просто дооформить, чтобы якорь получился
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet