Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 3396 Просмотров
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Добрый час.
Задача: в модуле breadcrumbs создаю переменные, в которые запоминаю определенные ссылки. Затем, в зависимости от наличия/отсутствия определенных ссылок должен меняться вид шаблона.
Проблема: При попытке получить в шаблоне переменные, определенные в модуле, возвращаются пустые значения.

 Например, в модуле пишу:
Код
JRequest::setVar('link1', 'www');

В файле index.php шаблона пишу:
Код
<?php echo JRequest::getVar('link1'); ?>

В результате выводится пустая строка.

В чем проблема?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Как передать переменную из компонента в модуль?
Варианты применимы и для передачи переменной из модуля в темплейт
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Пытаюсь воплотить одно из решений, указанных в ссылке.
1. В темплейте подключаю модуль breadcrumbs:
Код
<jdoc:include type="modules" name="top" />

2. В модуле пишу:    
Код
$session =& JFactory::getSession();
$session->set("q",  $list);

3. После модуля в темплейте вставляю:
Код
<?php $session =& JFactory::getSession();
$q1=$session->get("q"); ?>
echo $q[1]->name;

Работает, но с опозданием на один клик. То есть при переходе на определенную страницу отображает данные предыдущей. Данные текущей страницы отображаются лишь при переходе на следующую.
Почему так?

(повторюсь: код вывода переменной находится в темплейте после подключения модуля)

« Последнее редактирование: 04.09.2012, 00:08:50 от Александр216 »
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
А вот так echo $q[0]->name; посмотреть не пробовали? Распечатайте $list, посмотрите.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
Ды нет, не в этом дело. Мне нужен второй элемент массива, поэтому пишу $q[1]->name. Если написать echo $q[0]->name, выведет первый элемент. Все четко и корректно, все совпадает с дампом переменной... но только по состоянию для предыдущей посещенной страницы((
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Опишите подробнее вашу задачу. Зачем вы используете модуль breadcrumbs. По ходу, вы можете без него обойтись выполнив задуманное в шаблоне.
Какие данные вы передаете?
*

Александр216

  • Захожу иногда
  • 107
  • 1 / 0
У меня интернет-магазин, в котором несколько основных разделов. Каждый раздел содержит подкатегории нескольких уровней
Мне нужно в темплейте вывести для текущего раздела список категорий и некоторых подкатегорий (но не всех, т.к. подкатегории разной величины, и одни есть смысл отображать в меню, а другие - нет).

Данный список выводится только для раздела первого уровня, независимо от того, в подкаталоге какого уровня находится пользователь.
То есть, если он в разделе №1, то как бы глубоко он не залез в рамках этого раздела всегда отображается это меню.

Была мысль поискать готовый модуль, но решил, что такой модуль, заточенный именно под мою задачу, вряд-ли найду. Вот и решил получить необходимые данные из breadcrumbs и поизобретать (может быть, велосипед)))

А данные, которые я передаю - это массив $list, в котором пошагово записаны все разделы, категории и подкатегории, к которым относится текущий материал.
« Последнее редактирование: 04.09.2012, 23:55:58 от Александр216 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Здесь проще наверно привязываться к страницам или пунктам меню. Да и в меню можно определять есть ли подпункты  JSite::getMenu()->getActive()->tree[0].
Код: php-brief
<?php if ($_SERVER['REQUEST_URI'] == '/') :?>
делаем что-то
<?php endif;?>
выведет где мы
Код: php
<?php echo $_SERVER['REQUEST_URI']; ?>
<?php echo JFactory::getURI()->toString(); ?> //или так
Код: php
<?php
$urlParam = array('/contact', '/products', '/article');
if(in_array ( $_SERVER['REQUEST_URI'], $urlParam)) {
//выводим
} ?>
или так
Код: php
<?php if (JSite::getMenu()->getActive()->id == 108) : ?>
<jdoc:include type="modules" name="user1" style="xhtml" />
id == 108 -  Id вашего меню
<?php endif; ?>
Различные условия в шаблонах Joomla
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Денвер, ошибка после установки модуля PHP5

Автор danya_6

Ответов: 0
Просмотров: 1284
Последний ответ 23.12.2012, 15:59:53
от danya_6
Шаблонизация в Joomla 1.5.22, на примере модуля patway

Автор masaniachko

Ответов: 1
Просмотров: 1822
Последний ответ 26.04.2012, 18:47:35
от masaniachko
Подскажите чайнику при установке модуля выдаеца ошибка

Автор DukeNuke,

Ответов: 26
Просмотров: 4096
Последний ответ 27.06.2011, 13:59:43
от tier44
Белый экран при включении любого модуля

Автор netruxa

Ответов: 2
Просмотров: 1727
Последний ответ 29.11.2010, 13:27:10
от netruxa
Отличие установки модуля от установки пакета

Автор vladushka

Ответов: 1
Просмотров: 1189
Последний ответ 14.11.2010, 03:02:38
от vladushka