Joomshopping http://www.aga-design.com.ua Sun, 22 May 2022 20:24:29 +0000 Joomla! - Open Source Content Management ru-ru Процес удаления товара в диапазоне через my sql http://www.aga-design.com.ua/importantly/joomshopping/item/167-protses-udaleniya-tovara-v-diapazone-cherez-my-sql.html http://www.aga-design.com.ua/importantly/joomshopping/item/167-protses-udaleniya-tovara-v-diapazone-cherez-my-sql.html

Для того чтобы на сайте интернет магазина под управлением системы Joomshoping удалить товары с диапазоном ID товара к примеру от 4000 до 39066.

Для того чтобы на сайте интернет магазина под управлением системы Joomshoping удалить товары с диапазоном ID товара к примеру от 4000 до 39066.

Нужно сделать следующее:

  • Зайти в phpMyAdmin и выполнить SQL запрос.

DELETE FROM префикс базы_jshopping_products WHERE product_id > 4000 AND product_id < 39066

]]>
[email protected] (nekrasov_vitaliy) Joomshopping Thu, 10 May 2018 07:31:37 +0000
JoomShopping. Новый тип меню в результате поиска http://www.aga-design.com.ua/importantly/joomshopping/item/154-joomshopping-novyj-tip-menyu-v-rezultate-poiska.html http://www.aga-design.com.ua/importantly/joomshopping/item/154-joomshopping-novyj-tip-menyu-v-rezultate-poiska.html

В ходе открытия онлайн магазина осветительной продукции Wshop.com необходимо было провести структурирование реализуемой продукции. В начале система категорий была создана на виде ламп, и только после этого на виде вставки. К примеру: Светодиодные лампы -> Eurolamp -> LED лампа MR16 3W GU5.3 3000K 220V Eurolamp

Поиск JoomShopping дает возможность оперативно осуществить фильтрацию по каждому камню. К примеру, отмечаем в поиске Цоколь E27 - и выдается страничка со всеми цоколями E27. Но как получить меню, которое дает возможность заказчику просматривать все товары по каждому цоколю?

Если разработать меню с вариантом "наружная ссылка" и вбить следующую ссылку - /index.php?option=com_jshopping&controller=search&task=result&search=E27
то все заработает, однако....

Но, как известно, при получении пункта меню с вариантом "наружная ссылка" невозможно ввести алиас для раздела меню, это негативная сторона. Поскольку в результате получаем не SEF ссылки в подобных разделах меню. Выходом станет вынудить JoomShopping делать необходимый вид меню. Дальше делаем редактирование /components/com_jshopping/metadata.xml

после 28 строки

1<option value="orders">User / Orders</option>

вставим

1<option value="result">Search / Result</option>

и после

1<field name="price_to" type="text" default="" label="Price to" description="Price to" />

вставим

 

1<field name="search" type="text" default="" label="Search keyword" description="Search keyword" />

Сохраняем. Все.

После этого, чтобы получить меню, следует отметить тип раздела меню JoomShopping->Поиски затем отмечаем Search/Result и пишем приоритеное слово поиска (в данном случае - цоколь E27) Далее осталось самое интересное. Появляется возможность задать странице необходимые алиас, метатэги, таким образом, получаем прекрасные ресурсы для прохождения в поисковых системах.

]]>
[email protected] (nekrasov_vitaliy) Joomshopping Mon, 18 Apr 2016 12:51:15 +0000
Плагин «Маска ввода для поля Телефон для Virtuemart и Joomshopping» http://www.aga-design.com.ua/importantly/joomshopping/item/153-plagin-maska-vvoda-dlya-polya-telefon-dlya-virtuemart-i-joomshopping.html http://www.aga-design.com.ua/importantly/joomshopping/item/153-plagin-maska-vvoda-dlya-polya-telefon-dlya-virtuemart-i-joomshopping.html

При оформлении заявки на покупку какого-либо товара мы стремимся к тому, чтобы получить от потенциального покупателя правдивые необходимые данные. Как правило, требуется указать адрес доставки, контактный номер и, конечно же, ФИО и так далее. Форма заказа, цель которого заключается в сборе необходимых данных, должна быть максимально простой и понятной для любого пользователя, чтобы о смог без ошибок оформить свой заказ.

 

К аналогичным вопросам я ранее обращался и хочу сейчас вновь поднять тему. Для того чтобы верно указать адрес рекомендуется использование такого элемета, как «Плагин автозаполнения адреса для Joomshopping. Сервис dadata.ru». Что касается ввода данных в графе контактный телефон, то для решения такой задачи чаще всего применяют jQuery плагин maskedinput, последний из которых также используют и для работы функции «быстрый заказ». Взяв за основу maskedinput, я создал новый более совершенный плагин под наименованием «Joomla 2.5/3 Joomshopping/Virtuemart».

Работать с ним легко и просто. Прилагаю изображение, которое позволит вам понять принцип работы предлагаемого плагиана. Как видно от вас требуется только ввести маску ввода контактного номера.

plagin maska

  • Под символом «9» следует задавать необходимые вам цифры.
  • Под символом «а» следует задавать латинские символы «A-Za-z».
  • Под символом «*» - как символы, так и цифры.

Стоит отметить, что иные задаваемые символы выступают как шаблон. Работает предлагаемый плагин в разделах оформления заказа и при прохождении регистрации. Доступ к нему абсолютно бесплатный.

]]>
[email protected] (nekrasov_vitaliy) Joomshopping Mon, 18 Apr 2016 12:16:10 +0000
Фильтрация товаров ссылкой в JoomShopping - улучшение для Joomla! CMS http://www.aga-design.com.ua/importantly/joomshopping/item/136-filtratsiya-tovarov-ssyilkoy-v-joomshopping-uluchshenie-dlya-joomla-cms.html http://www.aga-design.com.ua/importantly/joomshopping/item/136-filtratsiya-tovarov-ssyilkoy-v-joomshopping-uluchshenie-dlya-joomla-cms.html Фильтрация товаров ссылкой в JoomShopping - улучшение для Joomla! CMS

Многие пользователи JoomShopping в Joomla хотели бы иметь возможность передавать или публиковать ссылки, которые открывали бы список товаров, отфильтрованный по определенным характеристикам. Допустим, можно было бы создать ссылку, при переходе по которой открывался бы не просто список всех имеющихся в наличии марок шоколада (категория), а только марки тёмного шоколада и именно с орехами или что-то другое с такими же точными параметрами фильтрации товаров. На самом деле существует несложное решение для этой тривиальной задачи.

 

Для начала нужно найти файл "category.php" в папке "\components\com_jshopping\controllers\".

В этом файле после кода "$category->getDescription();" (без кавычек) нужно вставить следующий код:

If ($_GET['extra_fields']){
$EFGet = JRequest::getString('extra_fields');
$ExtraFieldsGet = Explode(",", $EFGet);
If (Count($ExtraFieldsGet)){
$_ExtraFields = &JTable::getInstance('productfieldvalue', 'jshop');
$AllExtraFields = $_ExtraFields->getAllList();
$ListExtraField = Array();
ForEach($AllExtraFields As $ExtraField){
$ListExtraField[$ExtraField->id] = $ExtraField->field_id;
}
$FilterExtraFields = Array();
ForEach($ExtraFieldsGet As $ExtraFieldGet){
$FilterExtraFields[$ListExtraField[$ExtraFieldGet]][] = $ExtraFieldGet;
}
JRequest::setVar('extra_fields', $FilterExtraFields, 'POST');
} }

Не забудьте сохранить изменения.

После этих манипуляций можно относительно легко, хотя и вручную, создавать ссылки на отфильтрованные списки товаров.

Для создания ссылки нужно определить значение "id" у категории, из которой требуется отфильтровать товары. Допустим, это "01" (без кавычек).

Затем нужно определить значения "id" у характеристик, по которым требуется отфильтровать список товаров. Допустим, это 12 и 13.

Когда нужные значения для фильтра определены, их можно вставлять в следующий шаблон ссылки:

index.php?option=com_jshopping&controller=category&task=view&category_id=01&extra_fields=12,13&Itemid=xxx


где вместо "xxx" должен быть указан ваш "Itemid".

Дополнительные приёмы фильтрации товаров ссылкой

Если требуется отфильтровать товары по определенному значению определенной характеристики без связи с определенной категорией, тогда нужно немного пошаманить над файлом "products.php", который находится в папке "\components\com_jshopping\controllers\".

В этом файле после кода "$filters = getBuildFilterListProduct($contextfilter, array());" (без кавычек) нужно вставить следующий код:

If ($_GET['extra_fields']){
$ExtraFieldsGet = Explode(",", $_GET['extra_fields']);
If (Count($ExtraFieldsGet)){
$_ExtraFields = &JTable::getInstance('productfieldvalue', 'jshop');
$AllExtraFields = $_ExtraFields->getAllList();
$ListExtraField = Array();
ForEach($AllExtraFields As $ExtraField){
$ListExtraField[$ExtraField->id] = $ExtraField->field_id;
}
$FilterExtraFields = Array();
ForEach($ExtraFieldsGet As $ExtraFieldGet){
$FilterExtraFields[$ListExtraField[$ExtraFieldGet]][] = $ExtraFieldGet;
}
$filters['extra_fields'] = $FilterExtraFields;
}
}

Затем определяем значения "id" характеристик, по которой требуется отфильтровать список. Допустим, это 12 и 13.

Шаблон ссылки в этом случае будет следующим:

index.php?option=com_jshopping&controller=products&task=view&extra_fields=12,13&Itemid=xxx

где вместо "xxx" должен быть указан ваш "Itemid".

]]>
[email protected] (nekrasov_vitaliy) Joomshopping Thu, 26 Feb 2015 14:04:31 +0000
Создание в карточке товара ссылок на предыдущий и следующий товар http://www.aga-design.com.ua/importantly/joomshopping/item/130-sozdanie-v-kartochke-tovara-ssyilok-na-predyiduschiy-i-sleduyuschiy-tovar.html http://www.aga-design.com.ua/importantly/joomshopping/item/130-sozdanie-v-kartochke-tovara-ssyilok-na-predyiduschiy-i-sleduyuschiy-tovar.html Создание в карточке товара ссылок на предыдущий и следующий товар

В интернет-магазине очень важную роль играет перелинковка товара. Это касается как SEO, так юзабилити сайта. Очень важно чтоб посетитель Вашего магазина мог спокойно перемещаться по товарам не покидая карточки товара.

Мы Вам покажем, как в интернет магазине на JoomShopping реализовать навигацию в карточке товара по предыдущему и следующему товару.

Как это выглядит:

maket

Чтобы при обновлении JoomShopping наше решение не было затронуто будем все изменения проводить в шаблоне карточки товара.

Заходим в шаблон карточки товара:

/components/com_jshopping/templates/default/product/product_default.php

Находим строку:

<?php include(dirname(__FILE__)."/load.js.php");?>

и после неё вставляем код:

<?php $product_id = JRequest::getInt('product_id');
$product_nav = &JTable::getInstance('product', 'jshop');
$product_nav->load($product_id);
$category_id = $product_nav->getCategory();
$products = &$this->getModel("products"); //Определяем сортировку и направление сортировки пользователя
$mainframe =& JFactory::getApplication();
$jshopConfig = &JSFactory::getConfig();
$order = $mainframe->getUserStateFromRequest( 'jshoping.list.front.productorder', 'order', $jshopConfig->product_sorting, 'int');
$orderby = $mainframe->getUserStateFromRequest( 'jshoping.list.front.productorderby', 'orderby', $jshopConfig->product_sorting_direction, 'int');
$orderbyq = getQuerySortDirection($order, $orderby);
$field_order = $jshopConfig->sorting_products_field_select[$order];
$order_query = "";
if (!$field_order) return $order_query;
$order_original = $field_order;
$multyCurrency = count(JSFactory::getAllCurrency());
if ($multyCurrency>1 && $field_order=="prod.product_price"){
if (strpos($adv_from,"jshopping_currencies")===false){
$adv_from .= " LEFT JOIN `#__jshopping_currencies` AS cr USING (currency_id) ";
}
if ($jshopConfig->product_list_show_min_price){
$field_order = "prod.min_price/cr.currency_value";
}else{
$field_order = "prod.product_price/cr.currency_value";
}
}
if ($field_order=="prod.product_price" && $jshopConfig->product_list_show_min_price){
$field_order = "prod.min_price";
}
$order_query = " ORDER BY ".$field_order;
if ($orderbyq){
$order_query .= " ".$orderbyq;
}
//Собственно сам запрос
$db =& JFactory::getDBO();
$query = "SELECT *, `prod`.`name_ru-RU` as name FROM `#__jshopping_products` AS prod
INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON `pr_cat`.`product_id` = `prod`.`product_id`
LEFT JOIN `#__jshopping_categories` AS cat ON `pr_cat`.`category_id` = `cat`.`category_id`
WHERE `prod`.`product_quantity`> 0 AND `prod`.`product_publish` = 1 AND `pr_cat`.`category_id` = ".$category_id." ".$order_query;
$db->setQuery($query);
$rows = $db->loadObjectList();
$total = Count($rows);
addLinkToProducts($rows, 0, 1);
$Next = false;
$Prev = false;
foreach($rows as $Key=>$row){
If ($row->product_id == $product_id){
if($rows[$Key + 1]->product_link) $Next='<a style="font-size: 10px;text-decoration: none;" href="http://www.aga-design.com.ua/'.$rows[$Key + 1]->product_link.'" title="'.$rows[$Key + 1]->name.'">'.$rows[$Key + 1]->name.' ></a>';
if($rows[$Key - 1]->product_link) $Prev='<a style="font-size: 10px;text-decoration: none;" href="http://www.aga-design.com.ua/'.$rows[$Key - 1]->product_link.'" title="'.$rows[$Key - 1]->name.'">< '.$rows[$Key - 1]->name.'</a>';
Break;
}
}
?>

Всё готово!!!

Если в Вашем магазине товары находиться в нескольких категориях и Вам нужно чтобы предыдущий и следующий товар были из текущей категории - Вам необходимо во втором блоке кода в 4 строке вместо $category_id = $product->getCategory(); вставить $category_id = JRequest::getInt('category_id');

В магазинах в которых не выводятся остаток товара - количество которого равно 0. В этом случаи необходимо из запроса удалить "`prod`.`product_quantity`> 0 AND " после WHERE

Также Вы можете скачать специальный плагин после установки которого Вам только остаётся вывести в карточки товара информацию в любом подходящем месте для Вас.

]]>
[email protected] (nekrasov_vitaliy) Joomshopping Thu, 16 Oct 2014 13:11:58 +0000