Хак Virtuemart и хаки

Фильтры для Виртуя

Товарищи! Думаю все в курсе что модули фильтрации товаров в основном платные! Может кто поделится бесплатными вариантами или предложит решения. Или предложит те же платные варианты но по внятной цене. Был бы благодарен.
 
Товарищи! Думаю все в курсе что модули фильтрации товаров в основном платные! Может кто поделится бесплатными вариантами или предложит решения. Или предложит те же платные варианты но по внятной цене. Был бы благодарен.
Два помоему самых ходовых (на форуме есть, ищи в разделе joomla)
cherry picker
vm universal search pro
Бесплатные ищи здесь с пометкой Type: "Non-Commercial"
 
Благодарствую землячек!

Может кто знает где глянуть демо всяких разных фильтров что бы выбрать подходящий? На мой взгляд VMF - Virtuemart Filtering один из самых оптимальных.. Кто знает где его купить за веб мани?
 
Раз

Два

Спасибо жмется в правом нижнем углу сообщения, а не в названии поста
Все демки смотрятся на оф сайтах расширений
ЗДЕСЬ все официальные фильтры:
 
VirtueMart - SMS уведомления о сделаном заказе

Целый день искал решение как прислать на телефон sms сообщение о том, что в магазине сделали заказ. (VirtueMart ver. 1.1.8 )
И в итоге за 30 минут сделал свой хак.

Метод первый:

Для тех, кто не хочет особо ковыряться в коде, то можно воспользоваться сервисом в gmail сначала нужно оплатить чтобы активировать саму почту, потом оплатить чтобы добавить или сменить номер телефона и после всех оплат, понимаешь. что это не то)
Если у вас немного заказов в магазине, то подойдёт mail .ru *(создаёте новую папку в почте, настраиваете фильтр для этой папки и отправку SMS присваиваете для этой папки)

Достоинства pochta2sms:
- на счету 5руб. для тестов (одна отправка вроде 60 коп.)
- много свободных ящиков для регистрации
- хорошо продуманные фильтры для активации отправки sms
- фильтров можно задать несколько

Недостатки:
- нет пополнения счёта через WebMoney
- заголовок от VM коверкает (но можно написать свой. например "Сделан заказ" - это то. что придёт в качестве сообщения по смс)
Получили ящик *на pochta2sms, далее открываем файл
/administrator/components/com_virtuemart/classes/ps_checkout.php

Находим строку:
$vendor_email = $from_email;

Меняем на:
$vendor_email = array($from_email,'ваш_ящик@pochta2sms.ru');
Это чтобы отправить два письма, первое на тот email, что указан в Магазин\Информация о магазине и на второй для получения SMS уведомления.

Всё готово!

Метод второй:
В этом методе намного больше возможностей, можно брать переменные (данные покупателя, товара) и отправлять их в заголовке или в самом SMS.

У меня SMS дошли почти мгновенно ( в первом методе в течение пару минут)
СМС получились дешевле (копеек на 20)
В качестве отправителя можно указывать любой номер или имя (подмена номера, но за это вроде плата дополнительная)

1) Регистрируемся в сервисе


2) В разделе api скачиваем файл для своего сервера, например для php скачиваем *


3) В этом файле прописываете ваш логин и пароль от сервиса smsc
Например:
define("SMSC_LOGIN", "bork");
define("SMSC_PASSWORD", "1234");

4) Заливаете этот файл с вашими логином и паролем в папку /administrator/components/com_virtuemart/html

5) В этой же папке находите файл checkout.index.php
В файле находим (273 строка:(
Код:
<input type="hidden" name="payment_method_id" value="'. $payment_method_id .'" />
После добавляем (номер телефона вписать свой:(
Код:
<input type="hidden" name="phone" value="79012345678"/>
<input type="hidden" name="message" value="Поступил новый заказ"/>


В итоге в файле это выглядит так
:

Код:
<input type="hidden" name="payment_method_id" value="'. $payment_method_id .'" />
<input type="hidden" name="phone" value="79012345678"/>
<input type="hidden" name="message" value="Поступил новый заказ"/>
<input type="hidden" name="checkout_last_step" value="'. $current_stage .'" />';

6) В этой же папке открываем файл checkout.thankyou.php - это страница, которую пользователь видит, когда подтвердил свой заказ
В самом начале прописываем
Код:
<? 
include_once "smsc_api.php"; 
$r = send_sms($_POST["phone"], $_POST["message"]); 
?>

7) Проверяем работу
Мне нужно было просто на SMS получить *уведомление, что поступил заказ, но вместо value="Поступил новый заказ", можно подсунуть переменные VM

Если вам нужны дополнительные параметры, то смотрите примеры в библиотеке smsc
Пользуйтесь на здоровье!

Если у кого-то есть предложения по доработке, пожалуйста пишите в этой ветке.
 
Могу поделиться ajax search pro. Пишите в личку , кому надо! У меня работает на вкладке меню- выезжает панель и там поиск. Охеренный модуль . 500р не жалко.
 
МиниХак для Виртуя.
Недавно столкнулся: описание категории выводится на всех страницах списка, а это не есть хорошо.
Вот решение:
в shop.browse.php
вместо (строка №100)
$tpl->set( 'desc', $desc );
пишем
if( $limitstart ==0) {
$tpl->set( 'desc', $desc );
}
Вуаля.
Может кому-то пригодится.

Добавлено через 14 минут
Еще одна полезность:
Очень бросалось в глаза в модуле корзины Virtuemart:
*
Добавили товар - видим в корзине "1 Товар"
еще один товар - видим в корзине "2 Товары"*
еще один товар - видим в корзине "3 Товары"*
и т.д* (в общем не склоняется, и как-то не по-русски)

Для решения этой проблемы используем:
*
function sklonenie($n, $forms) {
*return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$forms[1]:$forms[2]);
*}
*
где $n - наше число, а
$forms=array('товар', 'товара', 'товаров');
*
Открываем \administrator\components\com_virtuemart\html\shop.basket_short.php
и вместо*
*
if ($amount > 1) {
$total_products = $amount ." ". $VM_LANG->_('PHPSHOP_PRODUCTS_LBL');
}
else {
$total_products = $amount ." ". $VM_LANG->_('PHPSHOP_PRODUCT_LBL');
}
пишем
*
function sklonenie($n, $forms) {
return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$forms[1]:$forms[2]);
*}
$total_products = $amount ." ". sklonenie($amount , array('товар', 'товара', 'товаров') ) ;
 
еще вопрос,существует конфликт модуля VM universal search с модулем mod_callback, оба используют jQuery.
как настроить правильную работу нескольких нескольких модулей на jQuery?
 
Что конкретно конфликтует каким образом что не так показывается/делается.
Отключи в одном модуле jquery попробуй а потом наоборот в другом выключи а там верни
 
Назад
Сверху