Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

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

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Доброго времени суток, Форумчане.
Подскажите пожалуйста как сделать так, что бы блок вывода контента был виден на всех страницах кроме главной?
« Последнее редактирование: 29.08.2013, 10:11:14 от b2z »
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Доброго времени суток, Форумчане.
Подскажите пожалуйста как сделать так, что бы блок вывода контента был виден на всех страницах кроме главной?
Примерно так:

Код
$menu = & JSite::getMenu();

<?php if ($menu->getActive()!= $menu->getDefault()) {?>
        <jdoc:include type="component" />
<?php } ?>
Мои расширения - http://eco-joom.com/ru/
*

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Примерно так:

Код
$menu = & JSite::getMenu();

<?php if ($menu->getActive()!= $menu->getDefault()) {?>
        <jdoc:include type="component" />
<?php } ?>

Извиняюсь за наглость, не мог бы ты объяснить, что есть что в этом кусочке. Хочется очень понимать что я делаю))) Я лишь только понял, что переменную меню сравниваем с дефолтовым меню и при успешном сравнении выводим контент.
*

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
<?php
$menu =& JSite::getMenu();
?>
<?php if ($menu->getActive()!= $menu->getDefault()) : ?>
<div id="content">
        <jdoc:include type="component" />
</div>
<?php endif ?>


вот так вот у меня заработало)

огромное спасибо
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Я лишь только понял, что переменную меню сравниваем с дефолтовым меню и при успешном сравнении выводим контент.
Так и есть ;) Чуток подправил код, для общего использования и добавил тему в J1.6 FAQ.

Код: php
<?php 
$menu = JSite::getMenu();
if ($menu->getActive()!= $menu->getDefault()): ?>
        // здесь выводим все, что не хотим показать на главной
<?php endif; ?>
*

kozovod

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Добрый день.
А если наоборот, необходимо вывести контент только на главной странице, она же главная страница JoomShopping?
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
А если наоборот, необходимо вывести контент только на главной странице, она же главная страница JoomShopping?
воскл. знак в коде уберите
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Код: php
<?php 
$menu = JSite::getMenu();
if ($menu->getActive()!= $menu->getDefault()): ?>
        // здесь выводим все, что не хотим показать на главной
<?php endif; ?>
а может лучше сравнивать только id: $menu->getActive()->id == $menu->getDefault()->id а не целые объекты?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
а может лучше сравнивать только id: $menu->getActive()->id == $menu->getDefault()->id а не целые объекты?

Да так будет более правильнее. Исправил код:

Код: php
<?php $menu = JSite::getMenu();
if ($menu->getActive()->id != $menu->getDefault()->id): ?>
        // здесь выводим все, что не хотим показать на главной
<?php endif; ?>


Код: php
<?php $menu = JSite::getMenu();
if ($menu->getActive()->id == $menu->getDefault()->id): ?>
        // здесь выводим все, что хотим показать на главной
<?php endif; ?>
*

Kumigy

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Ребят, поясните пожалуйста,ну так для общего развития, чем второй вариант правильнее?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
В первом варианте мы сравниваем целые объекты (меню), а во втром варианте только свойсто id объектов (меню).
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Не срабатывает, если например находимся мы на главной странице и на главной, есть поиск - Нажимаем искать и Itemid остаётся тот же что и на главной. Или вывод модуля последних материалов(mod_articles_latest). Itemid - остаётся тот же, в ссылке меняется только id - новости.
И вообще не пойму что это за Itemid, к которому идёт привязка вывода позиций(я так понял)
« Последнее редактирование: 21.06.2011, 19:09:27 от TerribleZ »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Itemid - это уникальный Id пункта меню. Видимо у Вас не на все разделы созданы пункты меню, поэтому он остается один и тот же.
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Конечно не на все. Я ж не буду создавать пункт меню на поиск если он у меня выводится в виде модуля. И не буду ж создавать меню для каждой вновь созданной новости.
Решил проблему так:
Код
<?php if (JRequest::getVar('view', null) == 'featured'): ?>
// здесь выводим все, что хотим показать на главной
<?php endif; ?>
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
JRequest::getVar('view') == 'featured' - это проверка на страницу с избранными материалами. Если она у Вас главная, то все ок. Если же главаная другая страница, то этот код не сработает.
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Ещё проблема. Ставлю в настройке модуле "Привязка к пунктам меню" -> "Привязка модуля" -> "На всех страницах, кроме указанных" и выбираю не показывать когда пункт меню "Главная". Вроде всё ок.
НО! модуль также не отображается на тех страницах где нет никакой привязки к пунктам меню т.е. Itemid - не существует.
К примеру страница регистрации "site.ru/index.php?option=com_comprofiler&task=registers" или страница поиска "site.ru/index.php?searchword=слово&searchphrase=all&option=com_search".
Как решить эту проблему?
*

saturn

  • Осваиваюсь на форуме
  • 19
  • 0 / 0

<?php $menu = JSite::getMenu();
if ($menu->getActive()->id != $menu->getDefault()->id): ?>
        // здесь выводим все, что не хотим показать на главной
<?php endif; ?>


Подскажите, пожалуйста, куда нужно это вставить?
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Подскажите, пожалуйста, куда нужно это вставить?
как вариант:
www\templates\название_вашего_шаблона_сайта\index.php
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Ещё проблема. Ставлю в настройке модуле "Привязка к пунктам меню" -> "Привязка модуля" -> "На всех страницах, кроме указанных" и выбираю не показывать когда пункт меню "Главная". Вроде всё ок.
НО! модуль также не отображается на тех страницах где нет никакой привязки к пунктам меню т.е. Itemid - не существует.
К примеру страница регистрации "site.ru/index.php?option=com_comprofiler&task=registers" или страница поиска "site.ru/index.php?searchword=слово&searchphrase=all&option=com_search".
Как решить эту проблему?
Как вариант - создать меню (которое нигде не будет выводится), и в нем сделать пункты для index.php?option=com_comprofiler&task=registers и index.php?searchword=слово&searchphrase=all&option=com_search
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Как вариант - создать меню (которое нигде не будет выводится), и в нем сделать пункты для index.php?option=com_comprofiler&task=registers и index.php?searchword=слово&searchphrase=all&option=com_search

Это не есть решение проблемы, так как таких ссылок на сайте будет добавляться больше в зависимости от расширения возможностей(добавления новых компонентов) сайта. К примеру вот ещё сылки index.php?option=com_comprofiler&task=lostpassword (ввостановление пароля) или index.php?option=com_some_component&view=events(какой-то компонент).

Ваши предложения? Буду очень благодарен.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

czp

  • Новичок
  • 6
  • 0 / 0
Извеняюсь что пишу в этой теме, но что бы новую не создавтаь решил в похожей, есле что могу новую, подскажите как сделать что бы:
1.Когда заходит админ на сайт он видел БЛОК1 и в нем спрятаную инфу
2.А когда заходит модератор или кто то ниже с рангом, то он видит БЛОК2 а БЛОК1 он не видит?
3.Ну и естественно обычные бзеры не видят БЛОК1 и БЛОК2
я так понял там PHP код с доступом, типа аккес ну там ненмого поглядел в коде Joomla но сам не знаю как сделать подскажите как написать код
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
czp, здесь посмотрите
*

czp

  • Новичок
  • 6
  • 0 / 0
ну не фурычит вот так написал, пробовал вместо администратора писать ник всеровно не фурычит, может из за того что Joomla 1,6 а там бы мануал на 1,5?

Код
<?php
$user =& JFactory::getUser();
?>
<?php if($user-> Administrator) : ?>
<div class="tos">

</div>
<?php endif ?>

перепробовал все доступные там комбинации не робит, помогите ! :(
« Последнее редактирование: 09.07.2011, 00:04:46 от czp »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
В 1.6+ группы можно переименовывать. Поэтому проверку лучше делать по ID группы. По умолчанию администратор находится в группе Super Users и ID этой группы 8. Проверить можно так:

Код: php
<?php
$user = JFactory::getUser();
if ( in_array( 8, $user->groups ) ) : ?>
Здесь выводим блок для Super Users.
<?php endif; ?>

Посмотреть ID групп можно в Менеджер пользователей -> Группы пользователей.
*

czp

  • Новичок
  • 6
  • 0 / 0
заработало,благодарю)) еше такой вопрос есле можно, есть что то типа jcoments на  1.6  а то тот модуль только с 1,5 робит а мне нужны, коменты подскажите есле не сложно
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
заработало,благодарю)) еше такой вопрос есле можно, есть что то типа jcoments на  1.6  а то тот модуль только с 1,5 робит а мне нужны, коменты подскажите есле не сложно
Читаем Правила форума! Одна тема = один вопрос!
*

TerribleZ

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А что я могу предложить? Так работает Joomla...
Решил свою проблему. Вроде бы правильно.
Т.е. если нам нужно вывести модуль везде кроме выбранных страниц(параметр "Все, кроме выбранных"). Т.е. независимо существует ItemId или нет(есть привязка к меню или нет).
Нужно в файле \libraries\joomla\application\module\helper.php
Добавить строку после строчек 317-318, чтоб было так:
Код
$negHit	= ($negId === (int) $module->menuid)
|| (!$negId && (int)$module->menuid < 0);
if (!$negId && $module->menuid <0) {$negHit = 0;}



« Последнее редактирование: 11.07.2011, 17:38:49 от TerribleZ »
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Спасибо. То что искал.
« Последнее редактирование: 18.01.2012, 14:46:03 от nik_neman »
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Нашёл решение от:
Код: php-brief
<?php if (JURI::current() == JURI::base()) : ?>
<jdoc:include type="modules" name="имя позици модуля ваше" />
<?php endif; ?>
На данный момент лучший вариант проверки на главную
вставлять в файл шаблона отвечающий за вывод модулей. Обычно index.php
В клубных шаблонах ищите в папке layouts обычно
Хотелось бы понять достоинства и возможные недостатки обоих подходов
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод материала в результатах поиска всего или до подробнее

Автор Drawmy

Ответов: 0
Просмотров: 1800
Последний ответ 02.02.2017, 16:41:38
от Drawmy
Отображение материала на главной

Автор timssky

Ответов: 13
Просмотров: 2032
Последний ответ 15.12.2016, 17:26:48
от timssky
Вывод информации на страницах материала после заголовка

Автор GuardianStation

Ответов: 5
Просмотров: 1968
Последний ответ 16.11.2016, 13:06:48
от effrit
Как редактировать код HTML на главной странице сайта?

Автор geroi1

Ответов: 45
Просмотров: 92776
Последний ответ 29.10.2016, 13:16:19
от savole
При добавлении к адресу главной страницы UTM метки отображается другая страница

Автор Xenoks

Ответов: 4
Просмотров: 1994
Последний ответ 28.10.2016, 16:37:22
от Xenoks