Помощь Как передать переменную?

Статус
В этой теме нельзя размещать новые ответы.

paqwerty

Постоялец
Регистрация
22 Апр 2009
Сообщения
53
Реакции
2
Помогите пожалуйста передать переменную из cart_function.php в тело письма с уведомлением о заказе admin_order_notification.txt

Суть заключается в том, что клиент может заказать товар превысив количество, которое есть на складе. Тогда ему в корзине и форме оформления заказа пишеться число товара, на которое он превысил и надпись "под заказ". И надо, чтобы мне в письме заказа писалось это число товара под заказ.

Я сделал, в корзине и форме оформления заказа все работает, а в письме пишется не правильно, т.к. для уведомления он высчитывает уже после списания товара со склада.

Чтобы было понятнее я приложил картинки:

Вот так выглядит корзина, в которой клиент указал кол-во товара 10, а на складе есть только 3. И ему пишется, что 7 штук будет оформлено под заказ:

attachment.php


Это фрагмент последнего шага оформления заказа - "подтверждение":

attachment.php


Вот кусок кода где я считаю эту разницу в количестве и присваиваю переменной :

/core_functions/cart_functions.php
PHP:
function cartGetCartContent()
...
if (  $cart_item["Quantity"] > $product["in_stock"] && $product         ["in_stock"] <= 0 ) {
   $product["in_stock"] = 0;
   $tmp["stock_raznica"] = $cart_item["Quantity"] - $product["in_stock"];
}
else if (  $cart_item["Quantity"] > $product["in_stock"] && $product["in_stock"] > 0 ) {
   $tmp["stock_raznica"] = $cart_item["Quantity"] - $product["in_stock"];
} else {
   $tmp["stock_raznica"] = 0;
}
...

А это в шаблоне корзины:
HTML:
{section loop=$cart_content name=i}
{counter name=product_count print=false}
<tr>
<td>
{if $this_is_a_popup_cart_window}
<b>{$cart_content[i].name}</b>
{else}
<a href='{$cart_php_file}?productID={$cart_content[i].productID}'>{$cart_content[i].name}</a>
<br />
{if $cart_content[i].in_stock < $cart_content[i].quantity}
{$cart_content[i].stock_raznica} {$smarty.const.CART_PREORDER}
{else}
&nbsp;
{/if}
{/if}
{/section}

и в шаблоне подтверждения заказа:

HTML:
{section name=i loop=$orderSum.sumOrderContent}
<tr>
<td>{$orderSum.sumOrderContent[i].name}</td>
<td>({$orderSum.sumOrderContent[i].quantity} / <span style="color: #CC0000;">{$orderSum.sumOrderContent[i].stock_raznica}</span>)</td>
<td>{$orderSum.sumOrderContent[i].cost}</td>
</tr>
{/section}

А КАК СДЕЛАТЬ ТАК, ЧТОБЫ МНЕ В ПИСЬМЕ УВЕДОМЛЕНИЯ ЗАКАЗА ПИСАЛАСЬ ЭТА ЦИФРА 7?

Помогите пожалуйста, люди добрые....
 

Вложения

  • 1.jpg
    1.jpg
    69,4 KB · Просмотры: 64
  • 2.jpg
    2.jpg
    75,2 KB · Просмотры: 65
  • Заблокирован
  • #2
Вставь эту переменную в шаблон нужного письма \templates\email\ точнее в нужное место
 
Zlobniy Babko, спасибо что помогаешь!

Я в первую очередь так и сделал, приходит пустое уведомление, т.е. пусто там, где должна быть результат этой переменной...
 
  • Заблокирован
  • #4
А выводишь переменную как, в шаблоне письма?
как пример
PHP:
(x{$content[i].Quantity})/(x{$content[i].stock_raznica})
 
Да, именно так я и изначально делал. Пустое поле. Я даже на всякий случай только что еще раз сделала, но ничего...
 
  • Заблокирован
  • #6
А просто без скобок? {$content.Stock_raznica}

Надо разбираться. Кода нет на руках
 
без скобок не пробовал, но стоит это сделать (хотя вряд ли поможет)...

Zlobniy Babko, можно я тебе завтра утром дам нужные файлы на рассмотрение кода? Очень надеюсь на твою помощь...
 
  • Заблокирован
  • #8
В лс скинь архив.

В течении след. дня посмотрю что к чему.
 
Приве Zlobniy Babko.

Не заню смотрел ты мои файлы или нет, но данную проблему я решил. Все оказалось проще...

Если интересно, могу скинуть завтра решение.
 
  • Заблокирован
  • #10
Отписал в ЛС. Интересно конечно. Ошибка постоянно возникала со скулем. Аналог решения пока есть в теории..... не добил пока сие решение. Да и времени катастрофически не хватает. Главное как решено, чисто из любопытства.

+ порекомендовал сделать
Хоть тема и устарела, но красивше и эффективнее)))

С Наступающим)))
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху