Новости Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

Вышел релиз Joomla 5.3.2

Релиз исправлений ошибок Joomla 5.3.2

Проект Joomla рад сообщить о выпуске Joomla 5.3.2. Это релиз исправлений ошибок для серии Joomla 5.3.

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

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Приветствую Всех!
Соверщенно внезапно возник острый вопрос: возможность переключения на фронте шаблона вывода категории в VirtueMart 1.1.7
(сборка Joomla 1.5.22 + vm1.1.7 очень сильно перепиленная).
Точнее - один вывод по 3 товара в строку ( блочный), второй - 1 товар в строку (переключение между ними на фронте).
На форуме в двух темах этот вопрос уже обсуждался:
http://joomlaforum.ru/index.php/topic,113908.msg1110095.html#msg1110095
http://joomlaforum.ru/index.php/topic,85773.0/all.html
Оба варианта работают но не позволяют решить проблему с разным количеством товаров в строке.
Игры с переменной $products_per_row результата не дали ни в одном, ни в другом случае.
Если у кого-нибудь есть идеи по решению этой задачки (или уже реализованный вариант) буду просто счастлив!
Годятся любые варианты: переключение между browse_notables.tpl.php и browse_listtable.tpl.php, или несколько вариантов в одном browse_X - не принципиально.
Учитывая съехавший мозг, готов проспонсировать данный вопрос!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
переключение между ними на фронте
? То есть либо один, либо другой? Или оба будут соседствовать?
И на них будут выведены непожожие категории?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
? То есть либо один, либо другой? Или оба будут соседствовать?
И на них будут выведены непожожие категории?
Естественно, либо один. либо другой! Зачем показывать сразу оба. Это довольно популярная фишка - товары категории либо блоками (картинками с минимумом инфы) или переключение в строчный вывод - по одному в строку (как, например, в browse_listtable.tpl)
Нужна не верстка шаблона а сам принцип работы - меня что-то заело...
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Оба варианта работают но не позволяют решить проблему с разным количеством товаров в строке.
Не делал. Почитал, там вроде бы позволяют. И ссылка на сайт есть, там 1 <-> 2.

Если у кого-нибудь есть идеи по решению этой задачки
Можно попробовать: 1 шаблон, на jQuery по клику менять стили (ширину блоков, видимость, местами менять дивы, ...).
Вот пример , несколько не то, конечно, только идея.
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Можно попробовать: 1 шаблон, на jQuery по клику менять стили (ширину блоков, видимость, местами менять дивы, ...).
Вот пример , несколько не то, конечно, только идея.
Спасибо, посмотрел. Но мне кажется это не решит проблему. Если делать на одном шаблоне, то в нем должно быть два html-кода двух разных шаблонов( 2 в 1). По ифу выдается, предположим, 1 вариант (кот. сверстан под блочный вывод - несколько тов. в строке),
else {другой вариант, в строчном виде -как прайс, например, по одному товару в строку}. Это все работает - вопрос как во второй вариант передать $products_per_row = 1 ? Как ни крутил - все равно в строке столько же, сколько и в блочном варианте
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Более "симпатичный" вариант - в shop.browse, кроме:
echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );
подключить browse_listtable.tpl:
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' ); //идея от Beaglera
Будет благополучно отображаться оба варианта - красиво один под другим - два шаблона. Вот как заставить их переключаться с одного на другой?
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
А если что-то типа:
$variant1 = 'browse/includes/browse_notables.tpl.php';
$variant2 = 'browse/includes/browse_listtable.tpl.php';

if ( $variant1 ) {
echo $tpl->fetch( 'browse/includes/browse_notables.tpl.php' ) ;
} else {
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' );
}

Тогда отрабатывает browse_notables.tpl, а browse_listtable.tpl ждет.
Куда бы воткнуть переключалку: variant1 и variant2 ?
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Если делать на одном шаблоне, то в нем должно быть два html-кода двух разных шаблонов( 2 в 1).
Имел в виду, что  один html-код. По клику менять его верстку.
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Имел в виду, что  один html-код. По клику менять его верстку.
Так верстку поменяем, а количество в строке ведь не изменится?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Куда бы воткнуть переключалку: variant1 и variant2 ?
в сессию или куки. Для зарегистрированных можно в профиль. Других вариантов нет
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Так верстку поменяем, а количество в строке ведь не изменится?
Можно задать отдельно для каждого шаблона. Это будет уже не $products_per_row, а другая переменная, которая задается в админке и по сути ничем не отличается.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Можно задать отдельно для каждого шаблона. Это будет уже не $products_per_row, а другая переменная, которая задается в админке и по сути ничем не отличается.
А как Вы предлагаете это реализовать?
Прошу прощения - второй день сижу над этим - мозги уже могут только спрашивать...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: html4strict
<form id="vid" name="vid" action="<?php echo JURI::getInstance()->tostring();?>" method="post">
<input type="submit" value="1" name="variant1">
<input type="submit" value="2" name="variant2">
</form>
Код: php-brief
<?php
$variant1 = JRequest::getVar('variant1', '');
$variant2 = JRequest::getVar('variant2', '');
$session =& JFactory::getSession();
if ($variant1) $session->set("variant", $variant1);
if ($variant2) $session->set("variant", $variant2);
$variant = $session->get("variant", 1);
if ($variant ==1  ) {
echo $tpl->fetch( 'browse/includes/browse_notables.tpl.php' ) ;
} else {
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' );
}
?>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А как Вы предлагаете это реализовать?
Прошу прощения - второй день сижу над этим - мозги уже могут только спрашивать...
Я как-то выводил на фронт VM рекомендуемые товары и товары со скидкой. Количество первых уже задается в theme.config.php, я просто добавил анологичную строку и пункт в Настройки>Сайт>Настройки.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Код: html4strict
<form id="vid" name="vid" action="<?php echo JURI::getInstance()->tostring();?>" method="post">
<input type="submit" value="1" name="variant1">
<input type="submit" value="2" name="variant2">
</form>
Код: php-brief
<?php
$variant1 = JRequest::getVar('variant1', '');
$variant2 = JRequest::getVar('variant2', '');
$session =& JFactory::getSession();
if ($variant1) $session->set("variant", $variant1);
if ($variant2) $session->set("variant", $variant2);
$variant = $session->get("variant", 1);
if ($variant ==1  ) {
echo $tpl->fetch( 'browse/includes/browse_notables.tpl.php' ) ;
} else {
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' );
}
?>
Супер!
Плюс плюсом, а куда и как? Возмездность?
« Последнее редактирование: 16.01.2013, 23:44:46 от aleks_yug »
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Я как-то выводил на фронт VM рекомендуемые товары и товары со скидкой. Количество первых уже задается в theme.config.php, я просто добавил анологичную строку и пункт в Настройки>Сайт>Настройки.
Вариант от Poznakomlus отлично работает. Просто и красиво! Можно использовать без всяких проблем.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вариант от Poznakomlus отлично работает. Просто и красиво! Можно использовать без всяких проблем.
Точно.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
На месте модераторов я бы это решение от Poznakomlus обязательно добавил бы.
"Товарищ Ленин" бы сказал: очень нужная и своевременная книга!
*

fsv

  • Moderator
  • 2781
  • 410 / 2
смена шаблона категории с ajax-перезагрузкой компонента:

1. кнопки
/components/com_virtuemart/themes/ВашаТема/templates/browse/includes/browse_header_category.tpl.php
в конце файла добавить:
Код
<div name="change_tmpl" id="change_tmpl" >
<input type="button" class="change_cattmpl" id="browse_notables" value="Вид Категории Блоками" title="Вид Категории Блоками" />
<input type="button" class="change_cattmpl" id="browse_listtable" value="Вид Категории Таблицей" title="Вид Категории Таблицей" />
</div>
<br />

2. выбор шаблона категории
/administrator/components/com_virtuemart/html/shop.browse.php
в конце файла код
Код
echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );
заменить на
Код
if (isset($_GET['id_click'])) {
   $my_cattmpl = $_GET['id_click'];
   echo $tpl->fetch( 'browse/includes/'.$my_cattmpl.'.tpl.php' ) ;
} else {
   echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );
}

3. jQuery  в шаблоне Joomla!
Код
<script type="text/javascript">
   j(document).ready(function() {
      j("body").on("click",".change_cattmpl", function(){  
         var id_click = j(this).attr("id");  
         var url = "<?php echo $_SERVER['REQUEST_URI'] ?>" ;
         j("#vmMainPage").fadeTo(500, 0);
         j("#vmMainPage").load(""+ url + "&id_click=" + id_click +" #vmMainPage");
         setTimeout(function() { j("#vmMainPage").fadeTo(1000, 1) }, 2000);
      });
   });
</script>
« Последнее редактирование: 22.05.2013, 15:00:47 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
      j("body").on("click",".change_cattmpl", function(){   
Консоль ошибок в лисе ругается на эту строку:
j("body").on("click",".change_cattmpl", function(){
Попробовал и на своем, переломанном движке и на чистой сборке без всяких прибамбасов. вроде должно работать - ан нет...
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Консоль ошибок в лисе ругается на эту строку:
j("body").on("click",".change_cattmpl", function(){
Попробовал и на своем, переломанном движке и на чистой сборке без всяких прибамбасов. вроде должно работать - ан нет...

У меня работает.
Что пишет, когда ругается?
jQuery подключен? Еще что-нибудь его использует? Как там noConflict() прописан? Возможно, в моем коде "j" надо заменить на используемую у вас переменную.
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
У меня работает.
Что пишет, когда ругается?
jQuery подключен? Еще что-нибудь его использует? Как там noConflict() прописан? Возможно, в моем коде "j" надо заменить на используемую у вас переменную.

jQuery, конечно, подключен и используется (везде!). Конфликт - это первое, что подумал.  Отключил все, что можно и неможно. Поэтому и попробовал на абсолютно чистой сборке. Результат на ней такой же (joomla 1.5.22+vm1.1.7+стандартный rhuk_milkyway)
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Поэтому и попробовал на абсолютно чистой сборке. Результат на ней такой же (joomla 1.5.22+vm1.1.7+стандартный rhuk_milkyway)

Справочно, мои данные: чистая сборка J1.5.26+VM1.1.9 (демо-данные)+JA_Purity.
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

Сайт (с чистой сборкой) в сети?
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Справочно, мои данные: чистая сборка J1.5.26+VM1.1.9 (демо-данные)+JA_Purity.
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

Сайт (с чистой сборкой) в сети?
Мда... На JA_Purity работает! Тогда нужно будет искать козу в шаблонах - выходит так...
В сети чистой нет -какой смысл?
В любом случае это боооольшой +
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Мда... На JA_Purity работает! Тогда нужно будет искать козу в шаблонах - выходит так...

Специально сейчас переключил на rhuk_milkyway и дописал index.php. Все работает, без вопросов.
Веб-разработка: заказ. Только новая разработка.
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Специально сейчас переключил на rhuk_milkyway и дописал index.php. Все работает, без вопросов.
Я уже увидел - работает. Получается очень любопытная штука -если подключить в шаблоне jquery с Google - работает. Если задействовать из каталога сайта - фокус не удастся. Но то бог с ним. Менее приятно то, что в этом случае идет конфликт с фильтром по типам (от Аркадия, к тому же, прилично допиленный). Если jquery подключить в индексе - шаблоны переключаются, но валится фильтр. Возможно разные версии jquery (как вариант). В общем искать нужно...
*

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Специально сейчас переключил на rhuk_milkyway и дописал index.php. Все работает, без вопросов.
Ну, кажется, разобрался... Конфликт версий jquery
Скачанная с Google и размещенная у себя вместо предыдущей версии (в частности, jquery-1.4.2.min) снимает все конфликты и все отрабатывает как надо. Спасибо!
*

Sonio

  • Захожу иногда
  • 52
  • 0 / 0
Код
<form id="vid" name="vid" action="<?php echo JURI::getInstance()->tostring();?>" method="post">
<input type="submit" value="1" name="variant1">
<input type="submit" value="2" name="variant2">
</form>
Код
<?php
$variant1 = JRequest::getVar('variant1', '');
$variant2 = JRequest::getVar('variant2', '');
$session =& JFactory::getSession();
if ($variant1) $session->set("variant", $variant1);
if ($variant2) $session->set("variant", $variant2);
$variant = $session->get("variant", 1);
if ($variant ==1  ) {
echo $tpl->fetch( 'browse/includes/browse_notables.tpl.php' ) ;
} else {
echo $tpl->fetch( 'browse/includes/browse_listtable.tpl.php' );
}
?>


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

aleks_yug

  • Давно я тут
  • 628
  • 83 / 0
Поясните пожалуйста, куда вставить это чудо.
Форму (верхний код) в browse_header_category.tpl.php
а сам скрипт в shop.browse.php  - в самом низу кода заменить строку: echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );
*

Sonio

  • Захожу иногда
  • 52
  • 0 / 0
Форму (верхний код) в browse_header_category.tpl.php
а сам скрипт в shop.browse.php  - в самом низу кода заменить строку: echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );

Спасибо тебе за тему и Poznakomlus за решение. Плюс +.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 22984
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 10280
Последний ответ 14.01.2021, 00:09:53
от gartes
Как реализовать: товары, которых нет в наличии в конец списка категории?

Автор Girevik

Ответов: 1
Просмотров: 1471
Последний ответ 02.11.2017, 10:52:04
от P_B
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 53396
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 27449
Последний ответ 25.10.2016, 15:03:07
от Igoritaly