Загрузка разной разметки блога категорий в зависимости от выбора: List / Grid view

  • 1 Ответов
  • 412 Просмотров

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

*

Оффлайн Dgikar

Используется "левый" jQuery скрипт для переключения (добавления / удаления классов у div), вида отображения: или List или Grid.
Скрипт, удаляет / добавляет некоторым div'ам те, или иные CSS классы, настраивая которые, получаю или List или Grid представление материалов. Но... Все равно, идеального (лично для меня) отображения, я - не получаю...

В файле blog_item (находится в папке HTML моего шаблона), есть такой код:
Код: (php) [Выделить]
<?php echo JLayoutHelper::render('joomla.content.intro_image'$this->item); ?>и
Код: (php) [Выделить]
<?php echo JLayoutHelper::render('joomla.content.blog_style_default_item_title'$this->item); ?>
Я, прописал условие:
Код: (php) [Выделить]
if(isset($_COOKIE['list_grid'])){
$my_cookie = $_COOKIE['list_grid'];
}

if ($my_cookie == 'grid') {
echo "<div id=\"new-intro-media\">".JLayoutHelper::render('joomla.content.intro_grid_image', $this->item)."</div>";
} else {
echo "<div id=\"new-intro-media\">".JLayoutHelper::render('joomla.content.intro_image', $this->item)."</div>";
echo "<div id=\"new-intro\">".JLayoutHelper::render('joomla.content.blog_style_default_item_title', $this->item)."</div>";
}

и в папке: my-site/templates/my-tmpl/html/layouts/joomla/content, создал файл intro_grid_image.php в который внес те изменения, которые мне нужны.

Вроде все супер. Все работает, НО!... Работает то оно работает, но лишь тогда, когда страница перезагружается, а вот когда происходит просто клик по кнопке "Grid", то происходит простое добавление/удаление классов у div'ов...

Поэтому, возник вопрос:
  • как заставить работать вышеупомянутое условие (с проверкой кукиса) при простом клике по кнопке "Grid" (т. е. на jQuery то я проверку сделал (классы - меняются), но вот чтобы именно загружать или joomla.content.intro_grid_image или joomla.content.intro_image в зависимости от того, на какой кнопке произошел click - не могу...)

Подскажите плз как решить данный вопрос

Заранее благодарю за ответы
Долог путь поучения, короток и успешен путь примеров (Сенека).

*

Оффлайн fsv

Вы хотите, чтобы по клику на клиенте срабатывал серверный PHP?
Аяксом (через load() ) обновляйте компонент.
$('#result').load('ajax/test.html #container');... или все же добейтесь через стили при смене класса (не так накладно).
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения