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

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Всем привет! Как вы знаете стандартная сортировка в JoomShopping сделана select'ом, что не совсем удобно, как мне кажется. Есть конечно варианты сделать на js с дополнительными div'ами и span'ами и еще кучей всего.

Так вот, предлагаю аналогичное решение, но, стандартными средствами Joomla. При этом можно будет отметить активный пункт и пр.

Первым делом надо создать наши radio кнопки с label'ами.
идем в сайт\libraries\cms\html\select.php и находим функцию public static function radiolist 700 строка примерно
и после нее вставляем практически такую же функцию, но, уже сдругим названием, radio кнопками и нужными нам классами (кто не понял вставлять перед самым самым последним знаком "}" ):
Спойлер
[свернуть]
Если хотите свою картинку для каждого пункта то можно сделать так: вместо class="sorting_order_name" напишите class="sorting_order_name image_for_btn_'.$id.'"
В принципе можно было бы использовать стандартную функцию, и изменить ее, но, мало-ли где нам еще пригодятся стандартные radio кнопки.
Итак, мы подготовили radio кнопки для сортировки.

Дальше идем в сайт\components\com_jshopping\controllers\category.php и находим строчку $sorting_sel = JHTML::_ 100 строка примерно.
В строке меняем select.radiolist на select.radiolistorder, сохраняем и смотрим что получилось на данном этапе.
Не помню как выглядит, но ничего хорошего.

Теперь оформление.
Спойлер
[свернуть]

Ну вот вроде бы и все на этом... Разница очевидна.. Сравнение на картинке.


Кто увидел минусы или плюсы, пишем.

Где то читал, что такая конструкция не поддерживается apple'ами и андроидами, или это было в прошлом веке.. Но, в итоге нашел небольшой костыль.
Кто что знает по этому поводу, говорим. А то меня бесит данный кусочек кода. (код не тестировал, нет возможности)
Спойлер
[свернуть]
« Последнее редактирование: 21.08.2014, 07:22:57 от shurakana »
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Вариант без правки контроллера По поиску
:) тем не менее (+)
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Вариант без правки контроллера По поиску
Здесь не то чтобы никто подобное не делал, а именно сам вариант решения, т.е. можно на будущее использовать.. Про количество, не понял..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
чтобы можно было дальше использовать - забывайте про хаки ядра. а то получается что это можно дальше использовать, а вот Joomla обновлять уже нельзя...

ну и второй момент - так и не понял, в чем принципиальная разница между label для радиокнопок и потом поиском рабочего решения на js для иос, и просто дивов/спанов/прочего, нажатие на которые будет выполнять схожую функцию отправки формы скриптом? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Цитировать
чтобы можно было дальше использовать - забывайте про хаки ядра. а то получается что это можно дальше использовать, а вот Joomla обновлять уже нельзя...
Как умеем.. Как получается..)

Цитировать
ну и второй момент - так и не понял, в чем принципиальная разница между label для радио кнопок и потом поиском рабочего решения на js для иос..
Опять таки, захотелось попробовать еще варианты решения, все таки заниматься этим, не гвозди забивать..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Респектую Шуракане, только за тот факт что человек не идёт шаблонно, а ищет решения.
И пусть решения не идеальны, но они имеют место быть. У него пока мало опыта, поэтому его решения кажутся абсурдными. Но именно на таких людях держится развитие ЖШ в Европе и России.
P.S. Попытки найти упоминание ЖШ на востоке не обвенчались успехом (а зря, ведь рынок там хороший)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Спасибо, Linfuby, как то не заметил сообщения.
Немного доработал выше сделанное. Сделал кнопку смены направления сортировки прямо в label, т.е. если нажать на активный пункт направление сортировки изменится.
В select.radiolistorder (упомянуто выше) добавляем параметр $orderby, у меня третий в списке.

Далее идем в select.php в самое начало нашей функции (public static function radiolistorder ), туда тоже добавляем параметр, причем можно называть переменную хоть как будь то $orderby или $eretetete, параметры из category.php похоже передаются по очереди, поэтому внимательнее.(select.radiolistorder не параметр, не считается)

Остановимся на $orderby.
После foreach ($data as $obj) {
добавляем проверку. (вместо img рекомендую добавлять class="order_up" ну или down, и добавлять картинку через css)
Код
			if ($order_by == 0)
{$path = "<img src='http://localhost/im/components/com_jshopping/images/arrow_up.gif'>";}
else
{$path = "<img src='http://localhost/im/components/com_jshopping/images/arrow_down.gif'>";}

После $extra = ' '; добавляем $label_active = ' '; это мы делаем доппеременную активности для label.

Ниже, после $extra .= ' selected="selected" '; добавляем еще пару строчек
Код
			$order_change .= ' onclick="submitListProductFilterSortDirection()" '; // только для активного label, по клику смена order_by
$label_active.= ''.$path.''; // только для активного label, указание пути картинки

И еще чуть ниже после $extra .= ((string) $k == (string) $selected ? ' checked="checked" ' : ''); так же вставляем
Код
			$order_change .= ((string) $k == (string) $selected ? ' onclick="submitListProductFilterSortDirection()" ' : '');
$label_active .= ((string) $k == (string) $selected ? $path : '');

Теперь к самим чекбоксам и label, код должен выглядеть так:
Код
			$html .= '<input class="d_none" type="radio" name="'.$name.'" id="'.$id.'" value="'.$k.'" '.$extra.$attribs.'>';
$html .= '<label '.$order_change.' class="ch_order" for="'.$id.'">'.$t.$label_active.'</label>';

Теперь у активного label есть своя стрелочка с нужным направлением, а при нажатии на активный label, происходит мена сортировки и картинки. Вот..)

Соответственно теперь из сайт\components\com_jshopping\templates\default\list_products\form_filters.php можно удалять <img src...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Отсюда понял http://stackoverflow.com/questions/5421659/html-label-command-doesnt-work-in-iphone-browser, что проблема наблюдается только в ios4, и нужно добавить к label пустой элемент onclick.

Поэтому вместо
    
Код
 $order_change .= ' onclick="submitListProductFilterSortDirection()" ';
Делаем
    
Код
$order_change .= ' submitListProductFilterSortDirection() ';

И вместо
   
Код
$html .= '<label '.$order_change.' class="ch_order" for="'.$id.'">'.$t.$label_active.'</label>';
делаем
   
Код
$html .= '<label onclick="'.$order_change.'" class="ch_order" for="'.$id.'">'.$t.$label_active.'</label>';

И убираем эти костыли
Код
<script>
    var deviceAgent = navigator.userAgent.toLowerCase();
    var iOS = deviceAgent.match(/(iphone|ipod|ipad)/);
    if (iOS) {
        $('label').click(function (event) {
            $('#' + $(event.target).attr('for')).attr('checked', true).change();
        });
    }
</script>
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а что в итоге поменялось? :) итоговый HTML же одинаковый
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Как не изменился? Теперь у label, атрибут onclick="" есть всегда(вместо костылей), а у активного label, onckilck="submitListProductFilterSortDirection()" для смены сортировки..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ясно. вы ж цикл не рисуете, не понял сразу что это в цикле :)

т.е. это получается твик такой для ios4? чтобы label менял состояние радиокнопки, то просто нужен обязательный пустой onclick для label?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Да, именно так, думаю в иос5 и более поздних версиях уже поправили, но кто его знает..)

Думал ios4 только на третьем ифоне, но нет, на четвертом тоже.. (Вспоминаю у кого есть.. ;D)

Хотя там же обновление было, думаю в любом случае все обновились..
« Последнее редактирование: 24.08.2014, 23:42:40 от shurakana »
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод списка товаров с учетом значения связанного атрибута

Автор newalex

Ответов: 2
Просмотров: 1256
Последний ответ 17.10.2024, 08:51:19
от newalex
Вместо стоимость 0 руб. вывести БЕСПЛАТНО в карточке товаров (Каталоге)

Автор IgorGeneralov

Ответов: 0
Просмотров: 2271
Последний ответ 13.04.2023, 21:06:09
от IgorGeneralov
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 15729
Последний ответ 22.08.2022, 09:54:16
от kit2m2
В списке товаров вывести названия категорий каждого товара

Автор shop-user

Ответов: 5
Просмотров: 2954
Последний ответ 25.01.2022, 06:05:12
от kit2m2
Плагин - Инфоблок товара в списке товаров [Скачать]

Автор kit2m2

Ответов: 13
Просмотров: 3175
Последний ответ 20.10.2021, 14:51:08
от kit2m2