Новости Joomla

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

👩‍💻 20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет. Вокруг неё сложилось большое интернациональное русскоязычное сообщество. На сайте нашего сообщества и на Хабре к юбилею были собраны интервью с его видными представителями. Сегодня мы читаем интервью с Ринатом Кажетовым (@rkazhet). Ринат - один из администраторов чата русскоязычного Joomla-сообщества, из Казахстана. Это человек, который всегда знает или найдёт нужную ссылку, пристально следит за новостями в мире Joomla, многое узнаёт первым и просто очень отзывчивый человек. Интервью с Ринатом взял Евгений Сивоконь.Читать интервью@joomlafeed#joomla #community

WT AmoCRM - RadicalMart плагин интеграции интернет-магазина на Joomla с CRM

👩‍💻 WT AmoCRM - RadicalMart плагин интеграции интернет-магазина на Joomla с CRM.Плагин умеет отправлять данные заказа из Joomla компонента интернет-магазина RadicalMart в AmoCRM, а так же оставлять примечания к сделке при смене статуса заказа (выберите необходимые статусы заказа RadicalMart в настройках плагина).Возможности плагина - создание сделок в AmoCRM в момент создания заказа в интернет-магазине RadicalMart- выбор воронки AmoCRM, в которой создавать сделки- выбор тега, которым будут помечаться созданные сделки- в комментарий к сделке при создании заказа пишутся:-- точная общая сумма заказа (Amo CRM не принимает дробные значения в поле бюджет, например с копейками)-- статус заказа-- информация о доставке (способ, адрес и комментарий)-- информация о способе оплаты-- контактные данные покупателя (могут отличаться от данных пользователя, создавшего заказ. Например, если доставка для другого человека)-- прямая ссылка на заказ в панели администрирования сайта-- список товаров заказа (опционально)добавление комментария к сделке при изменении статуса заказа в интернет-магазине RadicalMart (выберите необходимые статусы заказа в настройках плагина)-- добавляет в интерфейс просмотра заказа ссылку на сделку в AmoCRM, если таковая обнаружена (соответствие заказов и сделок хранится в базе данных)-- UTM-метки для сделки. Указывает, если на сайте используется комплект плагинов RadicalForm и WT AmoCRM - RadicalForm.
Для работы плагина необходима установка и настройка библиотеки WT Amo CRM library для Joomla версии 1.3.0 и выше.
Плагин бесплатный. Тестировался на Joomla 5.4 и RadicalMart 2.2.4.
Страница расширения и скачатьТак же:- Интернет-магазин RadicalMart- WT Amo CRM библиотека интеграции Joomla и AmoCRM- RadicalForm плагин обратной связи- WT AmoCRM - RadicalForm - плагин отправки сообщений из RadicalForm в AmoCRM@joomlafeed#joomla #crm #amocrm #radicalmart

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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Очень часто бывают ситуации, когда возможностей привязки модулей на определенные ссылки в меню недостаточно, либо требуется более точечно отладить шаблон.
В FAQ уже существуют две замечательные темы:
Небольшие хитрости с позициями модулей
Отображение модулей в зависимости от параметра переменной $task
Но здесь рассмотрим более тривиальные и простые задачи.

Задача 1 - отображать\скрывать блоки сайта в зависимости от наличия публикации модулей
Для примера возьмем трехколоночный табличный резиновый шаблон, правая левая колонки по 25% ширины, центр тянется
Код
<table width="100%">
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
   <?php echo mosMainBody(); ?>
  </td>
  <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
 </tr>
</table>
Делаем вот так:
Код
<table>
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
   <?php echo mosMainBody(); ?>
  </td>
         <?php
         if ( mosCountModules( 'right' ) ) { ?>
         <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
         <?php } else {} ?>
  </td>
 </tr>
</table>
Что там это дает - при отсутствии опубликованных модулей в позиции RIGHT правая колонки исчезнет с сайта, и центральная с блоком mainbody будет занимать 75% ширины, вместо 50% как ранее.
Если подобную процедуру применить к левой ячейке - то mainbody вытянется на всю ширину экрана.

Задача 2 - популярный вопрос по отображению модулей (к примеру последних новостей) только на главной странице
Пусть блок наших новостей расположен в центральной колонке в позиции TOP, над ним PATHWAY. Нам надо чтобы на главной были последние новости но не мешался mainbody и не было pathway, на других страницах убирался модуль и был pathway с mainbody
Код
<table width="100%">
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
     <?php if ( !isset($option) || @$option=='com_frontpage' ) {
     mosLoadModules ( 'top' ); } else { ?>
     <div><?php echo mosPathWay(); ?></div>
     <div><?php echo mosMainBody(); ?></div>
     <?php } ?>
  </td>
  <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
 </tr>
</table>
Должен сказать - весьма популярная конструкция, сам часто пользуюсь.


Задача 3 - "как скрыть правую колонку для форума"
Конструкция аналогично вопросу 2, только заменяем com_frontpage на название компонента.
К примеру com_firebird и применяем условие к правой колонке.

Задача 4 - разные картинки для разных страниц сайта
Можно найти какой нибудь модуль, написать свой, я же приведу одно из решений - когда мало того, что надо менять картинку на заранее определенную для страницы, так эта картинка должна быть фоновой для какого то элемента.
Код
<?php
if (@$Itemid == '1') {
$modulecss = 'img1';
} if (@$Itemid == '44') {
$modulecss = 'img2';
} else { $modulecss = 'img1'; }
?>
<div class="<?php echo $modulecss; ?>"></div>
В файле стилей делаю два класса:
img1 { background: url(img1.jpg); }
img2 { background: url(img2.jpg); }
У главной страницы ItemID равен 1 - будет работать класс img1 с фоновой картинкой img1.jpg
Для страницы с ItemID 44 - соответственно класс img2 с картинкой img2.jpg
Для всех остальных страниц по умолчанию класс img1
Что такое ItemID здесь

Если же нам требуется просто поместить разные картинки на разные пункты меню, то будет выглядеть примерно так:
Код
<?php
if (@$Itemid == '11' ) { echo "<img src='images/ico/1.gif' border='0' />";
} elseif (@$Itemid == '12' ) { echo "<img src='images/ico/2.gif' border='0' />";
} elseif (@$Itemid == '13' ) { echo "<img src='images/ico/3.gif' border='0' />";
} else {}
?>

Совмещяя данный пример с любым предыдущим - можно отображать элементы также и по идентификаторам пункта меню.
Кстати данный пример можно использовать для задания разным страницам сайта различного оформления CSS (е примеру background-color) без подключения дополнительных файлов стилей.
Обычно подобный прием я использую, если надо сделать разные шапки для разных страниц

Задача 5 - как избежать множества шаблонов, но сохранить возможность индивидуальной настройки главной и внутренних страниц
Открываем index.php нашего шаблона и в нем пишем:
Код
<?php
defined( '_VALID_MOS' ) or die( 'ERROR' );
switch ($option) {
   case 'com_frontpage': //for main page
     include_once ('front.php');
     break;

   default:  // default for all pages
      include_once ('inner.php');
      break;
}
?>
Что происходит - front.php и inner.php становятся как бы индексными из  разных шаблонов, содержимое каждого такого файла уже будет в точности соответствовать index.php разных шаблонов. Можно подключать различные стили CSS, графику, скрипты.
Можно продолжить данный кейс и отдавать разные страницы другим компонентам.

Итоги
Комбинируя данные приемы можно очень гибко управлять шаблоном, адаптируя практически любой дизайн под joomla

Внимание - в лоб применить данные приемы возможно лишь тогда, когда шаблон вы делаете самостоятельно. В большинстве же случаев (особенно если шаблон на DIV) - придется хорошенько покопаться в файле template_css.css
« Последнее редактирование: 01.03.2008, 14:54:31 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Различные условия в шаблонах
« Ответ #1 : 01.03.2008, 14:46:22 »
при переборе картинок я не вижу смысла использовать конструкцию IF( ... )


switch( @Itemid )
{
	
case 
1:
	
	
...
some code...;
	
break;

	
case 
2:
	
	
...
some code...;
	
break;

	
case 
N:
	
	
...
some code...;
	
break;

	
default:
	
	
...
some code...;
	
break;
}


ps. кстати, это
Цитировать
   if (@$Itemid == '11' ) { echo "<img src='images/ico/1.gif' border='0' />";
   } if (@$Itemid == '12' ) { echo "<img src='images/ico/2.gif' border='0' />";
   } if (@$Itemid == '13' ) { echo "<img src='images/ico/3.gif' border='0' />";
   } else {}
не правильно


должно быть:

if (@$Itemid == '11' )
{
   echo "<img src='images/ico/1.gif' border='0' />";
}
elseif (@$Itemid == '12' )
{
   echo "<img src='images/ico/2.gif' border='0' />";
}
elseif (@$Itemid == '13' )
{
   echo "<img src='images/ico/3.gif' border='0' />";
}
else
{
}
« Последнее редактирование: 01.03.2008, 14:50:52 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Различные условия в шаблонах
« Ответ #2 : 01.03.2008, 14:53:30 »
согласен и про    case и про elseif, задача стояла то не дать правила php, а основы манипуляции в шаблоне.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться