Форум русской поддержки Joomla!® CMS
11.12.2016, 17:51:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Условия вывода модулей в VirtueMart 2.x

 (Прочитано 3371 раз)
0 Пользователей и 1 Гость смотрят эту тему.
madcap
Захожу иногда
**

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

Сообщений: 21


« : 17.05.2012, 01:37:14 »

ГОТОВОЕ РЕШЕНИЕ !
Искал но не нашёл, потому за основу взял идею от Joomla 1.5 , и всё получилось!
Как выяснилось, JRequest::getString работает так же и в Joomla 2.5
Данное решение позволяет отключить в шаблоне Joomla модуль breadcrumbs на главной странице, когда главной страницей назначен VirtueMart.

<?php  if (JRequest::getString('view')!== 'virtuemart'){ ?>  
  <div id="breadcrumbs" class="clear"><jdoc:include type="modules" name="breadcrumbs" /></div>
<?php } ?>

В качестве параметра Можно использовать и другие части URL-адреса, принадлежащего VirtueMart:

Чтобы определить, на каких страницах VirtueMart должна будет выводиться информация, а на каких нет - надо отключить SEF и погулять по сайту. В адресной строке на страницах Viruemart Вы найдёте нужные Вам параметры.

Для полноты понимания желательно выучить операторы сравнения PHP (благо в сети много литературы по теме).
Для начала запомните эти:
!==   НЕравно
==    Равно
<>    Больше или меньше

И напоследок примеры страниц VirtueMart с выключенным SEF для понимания вышенаписанного с подсветкой нужных параметров:

Главная страница:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=virtuemart&Itemid=113
Категория товаров:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=category&virtuemart_category_id=38&Itemid=113
Страница с товаром:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=243&virtuemart_category_id=38&Itemid=113
Корзина:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=cart

По такой аналогии можно запретить или разрешить что-либо практически на любой странице VirtueMart (да и для самой Joomla 2.5 тоже).
« Последнее редактирование: 09.05.2013, 16:08:47 от ELLE » Записан
 
gartes
Живу я здесь
******

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

Сообщений: 827


Е = mс²


« Ответ #1 : 08.05.2014, 02:10:09 »

Молодец!! Cheesy Статья реально Хорошая!!
Даже только по тому, что многие включают SEF а потом блин а как а где !
Ребята SEF это тогда когда все работает а не тогда когда вы строите.

все вас и так проиндексируют нормально только самому мороки больше!
« Последнее редактирование: 08.05.2014, 02:18:43 от gartes » Записан
gartes
Живу я здесь
******

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

Сообщений: 827


Е = mс²


« Ответ #2 : 08.05.2014, 02:13:47 »

----------
Одно замечание Автор думаю поправит и можно удалить!
Цитировать
!==   НЕравно
Такого оператора сравнения в PHP нет.. Есть так !=
Цитировать
!==
это Тождественно не равно Добавлено в PHP 4
--- Да наверное можно и так оставить ! Простите не знал. - Gartes! Но все же точнее !=

 
« Последнее редактирование: 08.05.2014, 04:31:28 от gartes » Записан
sasha8888
Осваиваюсь на форуме
***

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

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



« Ответ #3 : 21.08.2014, 16:19:44 »

можно и != и !==
в данном случае тип переменных будет одинаковый, а потому все равно
второй вариант, который использовал автор - с учетом типа
на примере
'4' != 4 - false, т.к. равны
'4' !== 4 - true, т.к. равны
Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Online Online

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


Все начинается с Value


« Ответ #4 : 21.08.2014, 16:33:24 »

Здесь описано как сделать это без API Joomla, быстрее и эффективнее
Различные условия в шаблонах Joomla 3.0 и 2.5
Записан
lite46
Захожу иногда
**

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

Сообщений: 11



« Ответ #5 : 12.01.2016, 16:54:57 »

ГОТОВОЕ РЕШЕНИЕ !
Искал но не нашёл, потому за основу взял идею от Joomla 1.5 , и всё получилось!
Как выяснилось, JRequest::getString работает так же и в Joomla 2.5
Данное решение позволяет отключить в шаблоне Joomla модуль breadcrumbs на главной странице, когда главной страницей назначен VirtueMart.

<?php  if (JRequest::getString('view')!== 'virtuemart'){ ?> 
  <div id="breadcrumbs" class="clear"><jdoc:include type="modules" name="breadcrumbs" /></div>
<?php } ?>

В качестве параметра Можно использовать и другие части URL-адреса, принадлежащего VirtueMart:

Чтобы определить, на каких страницах VirtueMart должна будет выводиться информация, а на каких нет - надо отключить SEF и погулять по сайту. В адресной строке на страницах Viruemart Вы найдёте нужные Вам параметры.

Для полноты понимания желательно выучить операторы сравнения PHP (благо в сети много литературы по теме).
Для начала запомните эти:
!==   НЕравно
==    Равно
<>    Больше или меньше

И напоследок примеры страниц VirtueMart с выключенным SEF для понимания вышенаписанного с подсветкой нужных параметров:

Главная страница:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=virtuemart&Itemid=113
Категория товаров:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=category&virtuemart_category_id=38&Itemid=113
Страница с товаром:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=243&virtuemart_category_id=38&Itemid=113
Корзина:
http://www.ваш-сайт.ru/index.php?option=com_virtuemart&view=cart

По такой аналогии можно запретить или разрешить что-либо практически на любой странице VirtueMart (да и для самой Joomla 2.5 тоже).

А как добавить в условие еще одну страницу?

JRequest::getString('view')!== 'virtuemart' && !== 'frontpage'      так?
Записан
robert
Профи
********

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

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


« Ответ #6 : 12.01.2016, 17:06:56 »

Код
JRequest::getString('view')!='virtuemart' && JRequest::getString('view')!='frontpage'
//или
!in_array(JRequest::getString('view'),array('virtuemart','frontpage'))
 
Записан
lite46
Захожу иногда
**

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

Сообщений: 11



« Ответ #7 : 12.01.2016, 17:09:35 »

Код
JRequest::getString('view')!='virtuemart' && JRequest::getString('view')!='frontpage'
//или
!in_array(JRequest::getString('view'),array('virtuemart','frontpage'))
 

Я вот так сделал:
Код
JRequest::getString('view')!== ('virtuemart' || 'frontpage')

верно ли это?
Записан
robert
Профи
********

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

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


« Ответ #8 : 12.01.2016, 17:18:19 »

А вы сами попробуйте
Код
$test='virtuemart';
echo $test!==('virtuemart' || 'frontpage');
 
Записан
lite46
Захожу иногда
**

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

Сообщений: 11



« Ответ #9 : 12.01.2016, 17:40:10 »

А вы сами попробуйте
Код
$test='virtuemart';
echo $test!==('virtuemart' || 'frontpage');
 

для моей задачи работает. Я скрыл один из div шаблона в VirtueMart и на главной.
Записан
robert
Профи
********

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

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


« Ответ #10 : 12.01.2016, 17:47:54 »

для моей задачи работает.
Да ничего оно не работает: всегда true.
Записан
lite46
Захожу иногда
**

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

Сообщений: 11



« Ответ #11 : 16.01.2016, 18:09:51 »

Да ничего оно не работает: всегда true.

зря я не проверил... всё верно, всегда true! Когда создал другие страницы, на них так же был скрыт div, что неправильно.

Спасибо! Использую первый способ, что вы предложили!
« Последнее редактирование: 16.01.2016, 18:48:00 от lite46 » Записан
MadMax84
Новичок
*

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

Сообщений: 4


« Ответ #12 : 09.11.2016, 02:23:21 »

Здравствуйте. Подскажите пожалуйста. При выкл SEF
<?php $view = JRequest::getVar('view', null); if ($view !== "productdetails"){?>
<div id="vmgroup121" class="vmgroup carousel slide no-space">
<?php } ?>
Модули не выводятся в карточке товара. как только включаю SEF. Модули на месте. Joomla 2.5 VirtueMart 3
Что не так HELP!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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