Новости 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 Гость просматривают эту тему.
  • 54 Ответов
  • 24083 Просмотров
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0


Подскажите, пожалуйста, где мне вставлять код в моём шаблоне? У меня нету в шаблоне кода <jdoc:include type="head" />
Код
<?php
/**
* @version   $Id: index.php 6263 2013-01-01 22:00:40Z kevin $
 * @author RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 *
 * Gantry uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
 *
 */
// no direct access
defined( '_JEXEC' ) or die( 'Restricted index access' );

// load and inititialize gantry class
require_once(dirname(__FILE__). '/lib/gantry/gantry.php');
$gantry->init();

// get the current preset
$gpreset = str_replace(' ','',strtolower($gantry->get('name')));

?>
<!doctype html>
<html xml:lang="<?php echo $gantry->language; ?>" lang="<?php echo $gantry->language;?>" >
<head>
<?php if ($gantry->get('layout-mode') == '960fixed') : ?>
<meta name="viewport" content="width=960px">
<?php elseif ($gantry->get('layout-mode') == '1200fixed') : ?>
<meta name="viewport" content="width=1200px">
<?php else : ?>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php endif; ?>
    <?php
        $gantry->displayHead();

$gantry->addStyle('grid-responsive.css', 5);
        $gantry->addLess('global.less', 'master.css', 8, array('main-global'=>$gantry->get('main-global', '#dd4b39')));

        if ($gantry->browser->name == 'ie'){
         if ($gantry->browser->shortversion == 9){
         $gantry->addInlineScript("if (typeof RokMediaQueries !== 'undefined') window.addEvent('domready', function(){ RokMediaQueries._fireEvent(RokMediaQueries.getQuery()); });");
         }
if ($gantry->browser->shortversion == 8){
$gantry->addScript('html5shim.js');
}
}
if ($gantry->get('layout-mode', 'responsive') == 'responsive') $gantry->addScript('rokmediaqueries.js');
if ($gantry->get('loadtransition')) {
$gantry->addScript('load-transition.js');
$hidden = ' class="rt-hidden"';}

    ?>
</head>
<body <?php echo $gantry->displayBodyTag(); ?>>
    <?php /** Begin Top Surround **/ if ($gantry->countModules('top') or $gantry->countModules('header')) : ?>
    <header id="rt-top-surround">
<?php /** Begin Top **/ if ($gantry->countModules('top')) : ?>
<div id="rt-top" <?php echo $gantry->displayClassesByTag('rt-top'); ?>>
<div class="rt-container">
<?php echo $gantry->displayModules('top','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Top **/ endif; ?>
<?php /** Begin Header **/ if ($gantry->countModules('header')) : ?>
<div id="rt-header">
<div class="rt-container">
<?php echo $gantry->displayModules('header','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Header **/ endif; ?>
         <?php /** Begin Navigation **/ if ($gantry->countModules('navigation')) : ?>
  <div id="rt-navigation">
    <div class="rt-container">
    <?php echo $gantry->displayModules('navigation','standard','standard'); ?>
      <div class="clear"></div>
    </div>
  </div>
  <?php /** End Navigation **/ endif; ?>
</header>
<?php /** End Top Surround **/ endif; ?>
<?php /** Begin Drawer **/ if ($gantry->countModules('drawer')) : ?>
    <div id="rt-drawer">
        <div class="rt-container">
            <?php echo $gantry->displayModules('drawer','standard','standard'); ?>
            <div class="clear"></div>
        </div>
    </div>
    <?php /** End Drawer **/ endif; ?>
<?php /** Begin Showcase **/ if ($gantry->countModules('showcase')) : ?>
<div id="rt-showcase">
<div class="rt-showcase-pattern">
<?php echo $gantry->displayModules('showcase','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Showcase **/ endif; ?>
    <?php /** Begin Showcase Boxed **/ if ($gantry->countModules('boxed')) : ?>
        <div id="rt-showcase-boxed">
          <div class="rt-container"> <?php echo $gantry->displayModules('boxed','standard','standard'); ?>
            <div class="clear"></div>
          </div>
        </div>
<?php /** End Showcase Boxed **/ endif; ?>
<div id="rt-transition"<?php if ($gantry->get('loadtransition')) echo $hidden; ?>>
<div id="rt-mainbody-surround">
<?php /** Begin Feature **/ if ($gantry->countModules('feature')) : ?>
<div id="rt-feature">
<div class="rt-container">
<?php echo $gantry->displayModules('feature','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Feature **/ endif; ?>
<?php /** Begin Utility **/ if ($gantry->countModules('utility')) : ?>
<div id="rt-utility">
<div class="rt-container">
<?php echo $gantry->displayModules('utility','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Utility **/ endif; ?>
<?php /** Begin Breadcrumbs **/ if ($gantry->countModules('breadcrumb')) : ?>
<div id="rt-breadcrumbs">
<div class="rt-container">
<?php echo $gantry->displayModules('breadcrumb','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Breadcrumbs **/ endif; ?>
<?php /** Begin Main Top **/ if ($gantry->countModules('maintop')) : ?>
<div id="rt-maintop">
<div class="rt-container">
<?php echo $gantry->displayModules('maintop','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Main Top **/ endif; ?>
<?php /** Begin Full Width**/ if ($gantry->countModules('fullwidth')) : ?>
<div id="rt-fullwidth">
<?php echo $gantry->displayModules('fullwidth','basic','basic'); ?>
<div class="clear"></div>
</div>
<?php /** End Full Width **/ endif; ?>
<?php /** Begin Main Body **/ ?>
<div class="rt-container">
    <?php echo $gantry->displayMainbody('mainbody','sidebar','standard','standard','standard','standard','standard'); ?>
    </div>
<?php /** End Main Body **/ ?>
<?php /** Begin Main Bottom **/ if ($gantry->countModules('mainbottom')) : ?>
<div id="rt-mainbottom">
<div class="rt-container">
<?php echo $gantry->displayModules('mainbottom','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Main Bottom **/ endif; ?>
<?php /** Begin Extension **/ if ($gantry->countModules('extension')) : ?>
<div id="rt-extension">
<div class="rt-container">
<?php echo $gantry->displayModules('extension','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Extension **/ endif; ?>
</div>
</div>
<?php /** Begin Bottom **/ if ($gantry->countModules('bottom')) : ?>
<div id="rt-bottom">
<div class="rt-container">
<?php echo $gantry->displayModules('bottom','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Bottom **/ endif; ?>
<?php /** Begin Footer Section **/ if ($gantry->countModules('footer') or $gantry->countModules('copyright')) : ?>
<footer id="rt-footer-surround">
<?php /** Begin Footer **/ if ($gantry->countModules('footer')) : ?>
<div id="rt-footer">
<div class="rt-container">
<?php echo $gantry->displayModules('footer','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Footer **/ endif; ?>
<?php /** Begin Copyright **/ if ($gantry->countModules('copyright')) : ?>
<div id="rt-copyright">
<div class="rt-container">
<?php echo $gantry->displayModules('copyright','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Copyright **/ endif; ?>
</footer>
<?php /** End Footer Surround **/ endif; ?>
<?php /** Begin Debug **/ if ($gantry->countModules('debug')) : ?>
<div id="rt-debug">
<div class="rt-container">
<?php echo $gantry->displayModules('debug','standard','standard'); ?>
<div class="clear"></div>
</div>
</div>
<?php /** End Debug **/ endif; ?>
<?php /** Begin Analytics **/ if ($gantry->countModules('analytics')) : ?>
<?php echo $gantry->displayModules('analytics','basic','basic'); ?>
<?php /** End Analytics **/ endif; ?>
</body>
</html>
<?php
$gantry->finalize();
?>
*

kurandin

  • Захожу иногда
  • 159
  • 5 / 0
вставь перед </head>
*

tmpiston

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Привет подскажите что у меня Неправильно.
Вот сайт http://www.salut-market.com.ua/magazin.html
Код вставил все поменял но ни чего не меняется.
Спасибо
*

20dollars

  • Захожу иногда
  • 235
  • 4 / 2
Код вставил все поменял но ни чего не меняется.
В файле /components/com_jshopping/css/default.css строка 254 в блок
Код
#maxx_copyright a{
font-size:9px;
}
Добавьте параметр display:none; То есть получится вот так
Код
#maxx_copyright a{
font-size:9px;
display:none;
}
Но это всего лишь спрячет надпись на сайте но физически все останется на месте
*

tmpiston

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Здравствуйте!

Вставил в конец head код, добавил в самом конце странички контейнер div id="footer". - Всё прекрасно, всё работает. НО! Когда добавляю товар в корзину, почему-то копирайт встаёт на своё прежнее место, т.е. по каким-то причинам скрипт перестаёт работать. Хотя проверяя FireBug скрипт на месте и контейнер тоже. Не пойму в чём причина. Может кто-то сталкивался с подобным? Как решить проблему?

PS Сайт показать не могу, т.к. находится на денвере. (может проблема в том, что он на денвере?)
Понимаю, что не видя сайта ответить на вопрос, в чём проблема, конкретно не возможно. Но хотя бы подскажите в каком направлении копать.
Заранее спасибо.

Как вставить контейнер footer
*

ShamilHan

  • Захожу иногда
  • 196
  • 5 / 0
Удалено

Причина: Нарушение правил форума. Варез
« Последнее редактирование: 07.11.2013, 10:18:48 от nevigen »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
В следующий раз будете только читать, форум.
Если имея столько сообщений не читали правила. !

Устное предупреждение!
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

mr_denisters

  • Захожу иногда
  • 127
  • 6 / 0
  • Очередной Вебмастер
Код: php
          jQuery(document).ready(function() {  
jQuery('#mxcpr').appendTo('#footer');            
});

#mxcpr - ID контейнера, в котором располагается копирайт
#footer - ID контейнера, куда нужно перенести объект

После обновления 3.16 на страничке товара данный прием не работает, а на остальных перемещает, не подскажите что поправить?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

mr_denisters

  • Захожу иногда
  • 127
  • 6 / 0
  • Очередной Вебмастер
гм, странно. страницу можете показать?
Не могу, на локале тестирую перед обновлением, шаблон on div nevigen
Спойлер
[свернуть]
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Копирайт модуля JoomShopping не располагается в файлах шаблона, однако в CSS (таблице стилей) модуля (...\www\components\com_jshopping\css) указаны классы, отвечающие за внешний вид копирайта:

    В default.css: #maxx_copyright и #maxx_copyright a
    В icetheme.css (только в шаблонах от IceTheme) #maxx_copyright и #maxx_copyright a

По большому счёту, чтобы скрыть копирайт "maxxmarketing webdesigner" будет достаточно просто изменить атрибут display:block; на display:none; , либо же изменить размер текста font-size:9px; на font-size:1px; . Это сделает копирайт невидимым для посетителей, однако в коде страницы всё равно будет присутствовать внешняя ссылка на сайт разработчиков JoomShopping.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
И такое действие никак не нарушит лицензии JS ? все будут счастливы?
Вы хотите тут обсудить юридические аспекты ?
Все счастливы быть не могут априори.
Тут предложение переноса копирайта. Скрытие тут не обсуждается по сути!
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
давайте по теме.
отношение всех к вопросу известно, историю тоже знаем. Но вопрос в другом.
тут обсужадаются совершено другие аспекты ;)

2 Найт до сих пользуюсь плагином постобработки
шоб у тя ручки не болели :)
« Последнее редактирование: 04.01.2014, 14:19:12 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
менять стили никто не запрещал.
мало того, это ваш сайт!
и если на нем какие то стили пересекаются или сделаны под стилистику сайта это не криминал ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
:) я не буду сильно хулиганить, пока это еще не тот сайт чтобы с него пылинки сдувать, а когда будет тот, можно будет и прикупить ченить для него
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
nevigen, так новый уже есть, нужно его только подчистить, а то он у меня еще и RUB подменяет на знак рубля.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

dmitry77787

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
  • Процветание-естественная форма жизни!
Копирайт убрал в footer, спасибо форумчанам! А можно ли убрать из индексации поисковиков ссылку? Если да, то как лучше сделать? Извиняюсь заранее если что-то криминальное написал.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
dmitry77787, оберните всю позицию с копирайтом в <!--noindex--><!--/noindex-->. Правда для полного счастья надо бы ещё атрибут rel="nofollow" ссылке присвоить. И сперва надо бы лицензию проверить, не против ли таких манипуляций разработчик.
*

dmitry77787

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
  • Процветание-естественная форма жизни!
dmitry77787, оберните всю позицию с копирайтом в <!--noindex--><!--/noindex-->. Правда для полного счастья надо бы ещё атрибут rel="nofollow" ссылке присвоить. И сперва надо бы лицензию проверить, не против ли таких манипуляций разработчик.
Спасибо, только ссылки на JoomShopping 3.15 завуалированы, поэтому проблема возникла, нашел конечно как убрать, но не хочется нарушать прав разработчиков, вот и хочу, чтобы ссылки не вредили выдаче  моего сайта в яндексе и Google. Если кто знает как можно решить, пожалуйста, напишите.
*

kirillo01

  • Новичок
  • 1
  • 0 / 0
Привет, привет! Я нашел самый легкий способ!
Начнем:
1. Открываем /Сайт/components/com_jshopping/css/
2. Находим там default.css
3. Качаем его
4. Открываем любой удобной программой (У меня Notepad++)
5. Ищем 527-531 строчки :
Код
#mxcpr a{

font-size:9px;

}
6.
Код
font-size:9px;
меняем на
Код
font-size:0px;
7. Готово =) Надпись пропала (Т.К: font-size не может быть 0 px - 0px = ничего) ;D  :D

 
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
kirillo01, ну справедливости ради, px тогда писать не надо. Ноль ничем не меряется! Это ошибка валидности.
*

AndreF

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Цитировать
<script type="text/javascript">jQuery(document).ready(function() { 
      jQuery('#mxcpr').appendTo('#footer');             
      });</script>
У меня тоже на новой Joomla (3.3.0) не работает скрипт, а в ранних работает.
И ссылки 0px не отразится негативно для SEO? (типа как манипуляции со скрытым текстом).
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
а есть, где это можно увидеть?
в консоли ошибки есть?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать адрес в оформлении заказа

Автор lalalag

Ответов: 0
Просмотров: 1780
Последний ответ 06.07.2018, 13:32:45
от lalalag
Разбиение категории на страницы

Автор NinelleDonna

Ответов: 1
Просмотров: 1161
Последний ответ 06.06.2017, 17:51:54
от nevigen
Как убрать доставку?

Автор mlukyanov

Ответов: 9
Просмотров: 2171
Последний ответ 06.07.2016, 11:19:28
от Biss
Убрать лишнее в Категории

Автор Plazmodina

Ответов: 1
Просмотров: 1314
Последний ответ 18.10.2015, 13:32:56
от vipiusss
[Решено] Как убрать лишние языки в магазине (en, ua...)?

Автор dron

Ответов: 6
Просмотров: 1747
Последний ответ 30.03.2015, 17:54:33
от dron