Проблема с yandex.php

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #1 trainracing » 12.04.2017, 15:18

Подскажите, почему если в yandex.php есть все, то все равно не выводится параметр 0 или 600
Пожалуйста, ткните.

что есть:

Код: Выделить всё

...
p.free_delivery AS product_free_delivery,
...


Код: Выделить всё

$delivery = $okay->delivery->get_delivery(1);
$local_delivery_cost = '600';
if ($p->product_free_delivery == 1 || $p->price >= $delivery->free_from) {
$local_delivery_cost = '0';
}


Код: Выделить всё

print "<local_delivery_cost>".$local_delivery_cost."</local_delivery_cost>";


Выводит только 0 постоянно(((

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 13.04.2017, 05:33

Видимо, данные таковы, что всегда формируется 0.
Над выбирать один товар, на котором, по-Вашему, неверно, и проверять все детали.

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #3 trainracing » 13.04.2017, 09:00

Все равно не понял. С самими товарами все ок, задал free_delivery =1 и все ок, задал цену 65000 все сохраняет, но в xml не хочет(

сам код в других файлах вот -https://forum.okay-cms.com/viewtopic.php?f=10&t=371

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #4 korshunov » 13.04.2017, 10:22

trainracing писал(а):С самими товарами все ок, задал free_delivery =1

Все работает верно, в точности так, как Вы и запрограммировали...

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #5 trainracing » 13.04.2017, 10:32

korshunov писал(а):Все работает верно, в точности так, как Вы и запрограммировали...
но если цена товара меньше 50 000 (заданной в настройках) и не выбрана free_delivery =1, то должно выводить <local_delivery_cost> 600, а выводит 0

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #6 OkayCMS » 13.04.2017, 11:11

$delivery = $okay->delivery->get_delivery(1);
$local_delivery_cost = '600';
if ($p->product_free_delivery == 1 && $p->price >= $delivery->free_from) {
$local_delivery_cost = '0';
}

Судя по всему у вас всегда выполнялось условие, попробуйте сделать проверку по И

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #7 trainracing » 13.04.2017, 13:19

OkayCMS писал(а):$delivery = $okay->delivery->get_delivery(1);
$local_delivery_cost = '600';
if ($p->product_free_delivery == 1 && $p->price >= $delivery->free_from) {
$local_delivery_cost = '0';
}


не, так только product_free_delivery == 1

проблема решилась переносом кода ниже. перед началом принта. Всем спасибо


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 38 гостей