Крупнейшая биржа рекламы в Телеграм
0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 2661 Просмотров
*

Steb_Go

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
на основании ХАКА Накопительной системы скидок VM 1.1  от hudoy
http://joomlaforum.ru/index.php/topic,136862.0.html

2. Редактируем файл /administrator/components/com_virtuemart/classes/ps_order.php
Находим кусок кода:
Код
if( ($curr_order_status=="P" || $curr_order_status=="C") && $d["order_status"]=="S") {
$q = "SELECT order_number,payment_class,order_payment_trans_id FROM #__{vm}_payment_method,#__{vm}_order_payment,#__{vm}_orders WHERE ";
$q .= "#__{vm}_order_payment.order_id='".$db->getEscaped($d['order_id'])."' ";
$q .= "AND #__{vm}_orders.order_id='".$db->getEscaped($d['order_id'])."' ";
$q .= "AND #__{vm}_order_payment.payment_method_id=#__{vm}_payment_method.payment_method_id";
$db->query( $q );
$db->next_record();
$payment_class = $db->f("payment_class");
if( $payment_class=="payflow_pro" ) {
require_once( CLASSPATH."payment/payflow_pro.cfg.php");
if( PFP_TYPE == 'A' ) {
require_once( CLASSPATH."payment/payflow_pro.php");
$pfp = new ps_pfp();
$d["order_number"] = $db->f("order_number");
if( !$pfp->capture_payment( $d )) {
return false;
}
}
}
}

Цитировать
Прежде чем продолжить нужно понимать ,что представляет из себя этот код:
Его суть в том , что если происходит смена статуса заказа из P(pending(ожидание)) или C(Confirmed(обработан)) на S(Shipped(Доставлен)), то выполняются некоторые действия. Соответственно мы добавим к тем действиям которые выполняются по умолчанию, те которые нужны нам для расчета скидки. А именно перед последней } вставим следующий код

вопрос к migus  ;)
правильно ля я вставил код и как сделать что бы начисляемое количество баллов было $sumzakaz*(коэффициент в правиле AUP)

Код
//Определяем user_id и сумму текущего заказа по текущему order_id  
$dbu = new ps_DB;
$q = "SELECT user_id,order_total FROM #__{vm}_orders WHERE ";
$q .= "#__{vm}_orders.order_id='".$db->getEscaped($d['order_id'])."' ";
$dbu->query($q);
$dbu->next_record();
//заносим то что определили в соответствующие переменные
$userID = $dbu->f("user_id");
$sumzakaz = $dbu->f("order_total");

$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
if ( file_exists($api_AUP))
{
require_once ($api_AUP);
$aupid = AlphaUserPointsHelper::getAnyUserReferreID( $userID );
if ( $aupid ) AlphaUserPointsHelper::newpoints( 'plgaup_vm_zakaz', $aupid );
}

как должен выглядить плагин? уменя получилось следующее но оно не добавляется в список правил :(
Код
<? XML version = "1.0" encoding = "utf-8"?>
<alphauserpoints type="plugin">
     <rule>быллы от сумы заказа VM</ rule>
     <description>бабазяк</ description>
     <component>com_virtuemart</ component>
     <plugin_function>plgaup_vm_zakaz</ plugin_function>
     <fixed_points>true or false</fixed_points>
</ alphauserpoints>
« Последнее редактирование: 14.08.2011, 05:21:58 от Steb_Go »
*

migus

  • Завсегдатай
  • 1000
  • 144 / 0
  • OPEN THE BOX
вопрос к migus  ;)
правильно ля я вставил код и как сделать что бы начисляемое количество баллов было $sumzakaz*(коэффициент в правиле AUP)
Код выглядит правильно... Для этого определите выше в коде переменную sumzakaz


как должен выглядить плагин? уменя получилось следующее но оно не добавляется в список правил :(
Код
<? XML version = "1.0" encoding = "utf-8"?>
<alphauserpoints type="plugin">
     <rule>быллы от сумы заказа VM</rule>
     <description>бабазяк</description>
     <component>com_virtuemart</component>
     <plugin_function>plgaup_vm_zakaz</plugin_function>
     <fixed_points>true or false</fixed_points>// вот здесь исправьте: может быть только одно значение (или true или false)
</alphauserpoints>
« Последнее редактирование: 14.08.2011, 12:39:23 от migus »
"The Lord Of A SandBox"
*

Steb_Go

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
сейчас плагин выглядит так

<? XML version = "1.0" encoding = "utf-8"?>
<alphauserpoints type="plugin">
<rule>быллы от сумы заказа VM</rule>
<description>бабазяк</description>
<component>com_virtuemart</component>
<plugin_function>plgaup_vm_zakaz</plugin_function>
<fixed_points>true</fixed_points>
</alphauserpoints>

сохранил как XML c кодировкой utf-8

вроде как устанавливается, но в списке правил ничего не появляется, AUP 1.5.13
может еще нужно добавлять что то?
*

migus

  • Завсегдатай
  • 1000
  • 144 / 0
  • OPEN THE BOX
У вас в первой строке перед XML лишний пробел.
Вот этот у меня устанавливается без проблем:
Код: xml
<?xml version="1.0" encoding="utf-8"?>
<alphauserpoints type="plugin">
    <rule>быллы от сумы заказа VM</rule>
    <description>бабазяк</description>
    <component>com_virtuemart</component>
    <plugin_function>plgaup_vm_zakaz</plugin_function>
    <fixed_points>true</fixed_points>
</alphauserpoints>
"The Lord Of A SandBox"
*

Steb_Go

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Спасибо! правило добавилось  :D
но баллы не начисляются
я так понял что $userID VirtueMart отличается от joomla-вского
или где то опять косяк  :'(
*

migus

  • Завсегдатай
  • 1000
  • 144 / 0
  • OPEN THE BOX
Трудно сказать. Попробуйте получше разобраться с использованием AUP API...
"The Lord Of A SandBox"
*

artliffe

  • Захожу иногда
  • 128
  • 6 / 0
  • ...акки пчела
Есть решение по данному вопросу?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Количество просмотров товара VirtueMart Существует?

Автор grishin

Ответов: 38
Просмотров: 7136
Последний ответ 22.08.2020, 08:44:29
от rsn
Не выводит списком Настраиваемое поле в VirtueMart 5.0

Автор ЛюдмилаМир

Ответов: 2
Просмотров: 299
Последний ответ 25.08.2019, 16:27:04
от ЛюдмилаМир
Joomla VirtueMart помощь в переводе

Автор akkord31

Ответов: 0
Просмотров: 250
Последний ответ 21.05.2019, 09:14:02
от akkord31
Миграция с Joomla 1.5 на 3 с VirtueMart 1.1.9 stable на свежую. Кто поможет?

Автор Гриша-Десантник

Ответов: 7
Просмотров: 402
Последний ответ 23.04.2019, 10:22:25
от draff
Переход на https VirtueMart 1.1.4 проблемы с фото

Автор Sergey1984

Ответов: 4
Просмотров: 497
Последний ответ 25.10.2018, 20:56:54
от Sergey1984