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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте.

Если вам надо собирать статистику по детальному просмотру товаров VirtueMart 2.0(делал в VM 2.0.18a), то для этого надо:
1. Создать таблицу в БД, например так:
Код
CREATE TABLE ВАШПРЕФИКС_prod_viewing_stats(
product_id int(11) PRIMARY KEY,
hits int(11)
)
2. Добавить в представлении карточка товара код(сайт/templates/ваш_шаблон/html/com_virtuemart/productdetails/default.php), не считающий ботов:
Код
function is_bot(){
$botlist = array("Yahoo Slurp", "WebAlta", "Yandex", "StackRambler",
"Teoma", "alexa", "froogle", "Gigabot", "inktomi",
"looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory",
"Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", "girafabot",
"crawler", "www.galaxy.com", "Googlebot", "Scooter", "Slurp",
"msnbot", "appie", "FAST", "WebBug", "Spade", "ZyBorg", "rabaz",
"Baiduspider", "Feedfetcher-Google", "TechnoratiSnoop", "Rankivabot",
"Mediapartners-Google", "Sogou web spider", "WebAlta Crawler","TweetmemeBot",
"Butterfly","Twitturls","Me.dium","Twiceler");
 
foreach($botlist as $bot){
if(strpos($_SERVER['HTTP_USER_AGENT'],$bot)!==false)
return true; // Is a bot
}
return false; // Not a bot
}

if (!is_bot()) {
$db =& JFactory::getDBO();
$query = 'SELECT IFNULL(hits, 0) as hits FROM #__prod_viewing_stats WHERE product_id="'.$this->product->virtuemart_product_id.'"';
$db->setQuery($query);
$stats = $db->loadObject();
if (!is_null($stats->hits)){
$stats->hits = $stats->hits+1;
$query = 'DELETE FROM #__prod_viewing_stats  WHERE product_id = "'.$this->product->virtuemart_product_id.'"';
$db->setQuery($query);
$db->query();
}
else {
$stats->hits = 1;
}
//echo "Просмотрено: $stats->hits<br/>";
$query = "INSERT INTO #__prod_viewing_stats (`product_id`, `hits`) VALUES ('".$this->product->virtuemart_product_id."', '".$stats->hits."')";
$db->setQuery($query);
$db->query();
unset($db);
}

Я добавлял после кода
Код
if (empty($this->product)) {
    echo JText::_('COM_VIRTUEMART_PRODUCT_NOT_FOUND');
    echo '<br /><br />  ' . $this->continue_link_html;
    return;
}

Направления по совершенствованию(если не прав поправьте)
1. заменить delete + insert на update с созданием триггера на таблицу products, инициализирующий строку товара в таблице учета посещений prod_viewing_stats  
2. уменьшить размер поля hits до int(?)
3. может проиндексировать таблицу prod_viewing_stats как-то получше(не силен в индексации)?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Спасибо добрый человек. Скажи, а с кешированием я так понимаю уже не будет работать?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Спасибо добрый человек. Скажи, а с кешированием я так понимаю уже не будет работать?
Здравствуйте, я всего лишь скопировал и адаптировал вариант, выложенный здесь на форуме для VM1. Не силен в кэшировании. Если кэширование не предполагает запроса к серверу(не будет запускаться скрипт построения карточки товара), то учёта не будет правильного. Насколько знаю есть возможности отключить кэширование в браузере, правда по советам Фёдора у меня не получилось этого настроить, может чего недопонял :) Ищущий до обрящет, вопрошающему отворят
« Последнее редактирование: 09.12.2013, 13:34:26 от borro »
*

andrew_puma

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Помогите вставить код на сайт, а то вставляю а он не выводится!
в базе нет проблем.
а вот код который вставляю выходит весь на сайте!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Помогите вставить код на сайт, а то вставляю а он не выводится!
в базе нет проблем.
а вот код который вставляю выходит весь на сайте!

Вам нужно код вставлять в <?php  ?> такие скобочки ))))) тогда будет работать ...
*

andrew_puma

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Я так и сделал, но не отображается!
*

andrew_puma

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
И как сделать, чтобы счетчик считал, а даная информация выводилась в админке?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Я так и сделал, но не отображается!
Лучше обратитесь к специалисту, он разберется на месте.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Лучше обратитесь к специалисту, он разберется на месте.
Добрый вечер. Позвольте узнать, как вы решили вопрос подсчёта при кэшировании?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Не... Что то не то...
1 просмотрев код .. Дак там по моему вывода нет.. так как
Код
//echo "Просмотрено: $stats->hits<br/>"; 
Эта строка коммент.. и вроде единственное что что либо выводит.

2
Цитировать
borro
А зачем создавать таблицу это поле есть в уже в таблице продуктов.
Код
$db =& JFactory::getDBO();
$query = 'SELECT IFNULL(hits, 0) as hits FROM #__prod_viewing_stats WHERE product_id="'.$this->product->virtuemart_product_id.'"';
$db->setQuery($query);
$stats = $db->loadObject();
и если мы в носим именно в таблицу продуктов то  это что с верху не нужно

разве я не прав ?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Добрый вечер. Позвольте узнать, как вы решили вопрос подсчёта при кэшировании?
Я давно отказался от VirtueMart, но теоретически можно скриптом записывать. Можно у Kunena подсмотреть, он это обходит, да и в последних версиях Joomla кол-во просмотров учитывается при включенном кэшировании.
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Доброго дня!
Цитировать
borro
Спасибо за решение, все работает отлично! + в репутацию!

Сейчас хочу отобразить количество просмотров товара в самой категории, пока без результата, если есть ответ подскажите!?
« Последнее редактирование: 18.09.2015, 08:36:45 от Jukov »
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Я так и сделал, но не отображается!
Код вставляем:
<?php  
вот сюда
?>
И убираем комментирование, палочки // т.е. должно получится так:
echo "Просмотрено: $stats->hits<br/>";
*

andrew_puma

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Отлично, заработало.
Теперь осталось вставить в таблицу товаров в админке, сегодня буду пилить.
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Отлично, заработало.
Теперь осталось вставить в таблицу товаров в админке, сегодня буду пилить.
Найдешь решение отпишись, может тоже сделаю. Сейчас хочу вывести количество просмотров товара в категорию, пока без результата.
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Решение для того что бы количество просмотров отображалось в категории товаров:
1) Открываем файл templates\ВАШ ШАБЛОН\html\com_virtuemart\category\default.php, если нету то файл \components\com_virtuemart\views\category\tmpl\default.php
2) Выбираем место где хотим что бы отображалось
3) Вставляем код вывода:
Код
<div>
<?php
$db =& JFactory::getDBO();
$query = 'SELECT IFNULL(hits, 0) as hits FROM #__prod_viewing_stats WHERE product_id="'.$product->virtuemart_product_id.'"';
$db->setQuery($query);
$stats = $db->loadObject();
echo $stats ? ('Просмотров '. $stats->hits . ''): 'Просмотров нет';
unset($db);
  ?>
</div>
4) Сохраняем и проверяем.
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Всем привет!
И у меня теперь задача:
Сделать Сортировку по количеству просмотров, ну или По популярности!?
Кто ни будь сталкивался с похожим вопросом?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Всем привет!
И у меня теперь задача:
Сделать Сортировку по количеству просмотров, ну или По популярности!?
Кто ни будь сталкивался с похожим вопросом?
можете построить sql-запрос и вывести в эксель, если не надо сразу в админке так сортировать :)
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
можете построить sql-запрос и вывести в эксель, если не надо сразу в админке так сортировать :)
Нет, нет, мне нужно это сделать на сайте, в категории магазина (на странице с товарами). В самой сортировке. Сортировать по: ....
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
И все же, вопрос остается открытым:
Сделать сортировку по количеству просмотров товара, в категории товаров?
« Последнее редактирование: 06.10.2015, 06:33:11 от Jukov »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод названий всех категорий и товаров в них на главной ((vm3))

Автор PavelK

Ответов: 0
Просмотров: 2540
Последний ответ 15.02.2022, 14:34:52
от PavelK
Limit показать на страницу + пагинация pagination ломают отображение товаров

Автор kreker92

Ответов: 0
Просмотров: 2593
Последний ответ 08.11.2021, 18:02:40
от kreker92
[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 10510
Последний ответ 21.10.2020, 23:27:08
от alfa212
Удаление всех товаров из корзины одним кликом.

Автор Chifu

Ответов: 10
Просмотров: 9501
Последний ответ 19.04.2020, 20:21:03
от grub
Сортировка в VirtueMart 2 по умолчанию, по наличию товаров и по цене

Автор vfxbro

Ответов: 7
Просмотров: 3993
Последний ответ 27.04.2019, 09:51:05
от rsn