0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 228 Просмотров
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Есть свободный атрибут необязательный для заполнения. Если его оставить пустым, его название все равно отображается в корзине и потом в детализации заказа в личном кабинете.
Пробовал скрыть его на примере как скрывается manufacturer,
в шаблоне cart.php
Код
<?php if ($prod['free_attributes_value'] != '') { ?>
    <?php print $prod['free_attributes_value'] ?>
<?php } ?>
и в шаблоне order.php
Код
<?php if ($prod->product_freeattributes !='') { ?>
    <?php print $prod->product_freeattributes ?>
<?php } ?>
Ни там ни там не работает так.
*

ProtectYourSite

  • Завсегдатай
  • 1732
  • 97 / 4
  • Безопасность вебсайтов
Код
<?php print sprintFreeAtributeInCart($prod['free_attributes_value']); ?>
Он разве не так выводится? Думаю это надо под условие и ставить. Если не получается, то вывести var_dumpом и посмотреть, какое значение приходит и проанализировать, какое условие должно быть.
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Да я уже по всякому пробовал методом тыка, и так и так. Если так сделать то вообще белый экран вылетает:
Код
<?php if sprintFreeAtributeInCart($prod['free_attributes_value'] != '') { ?>
    <?php print sprintFreeAtributeInCart($prod['free_attributes_value']); ?>
<?php } ?>

Свободный атрибут называется "Желаемое время доставки". var_dump выводит по этому поводу такое:
Код
["free_attributes_value"]=>
array(1) {
[0]=>
object(stdClass)#593 (2) {
    ["attr"]=>
    string(21) "Желаемое время доставки"
    ["value"]=>
    string(0) ""
}
}
и еще такое:
Код
["freeattributes"]=>
string(17) "a:1:{i:1;s:0:"";}"
*

dmitry_stas

  • Легенда
  • 12252
  • 1162 / 7
ну так вроде все ж ясно, не?
Код
if ($prod['free_attributes_value'][0]->value) {
    // выводим
}
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Да так скрывает. Вот тока в order.php не догоняю как это условие должно выглядеть? Метод тыка не помог)
*

dmitry_stas

  • Легенда
  • 12252
  • 1162 / 7
не понимаю, а зачем тыкать, если надо вывести var_dump? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Выводит такое:
Код
["product_freeattributes"]=>
    string(24) "Желаемое время доставки:
"
["freeattributes"]=>
    string(17) "a:1:{i:1;s:0:"";}"
И потом еще раз точно такое же
*

dmitry_stas

  • Легенда
  • 12252
  • 1162 / 7
ну если прям в лоб то можно вот так сделать
Код
if (trim($product_freeattributes) != 'Желаемое время доставки:') {
    // выводим
}
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
В лоб не сработало. Все равно выводит.
*

dmitry_stas

  • Легенда
  • 12252
  • 1162 / 7
так не бывает :) либо не там меняете, либо не то
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Вполне возможно что не то. Попробовал все сделать заново с нуля.
Условие прописываю в шаблоне order.php. Вот точный код:
Код
<?php if (trim($product_freeattributes) != 'Желаемое время доставки:') {?>
    <p><?php echo sprintFreeAtributeInOrder($prod->product_freeattributes)?></p>
<?php }?>
и теперь белый экран вылетает.
« Последнее редактирование: 09.09.2018, 23:52:27 от tima »
*

ProtectYourSite

  • Завсегдатай
  • 1732
  • 97 / 4
  • Безопасность вебсайтов
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
Ой ё..
Тогда как и писал чуть выше - в лоб не работает условие. Не знаю почему.
Точный код выше поправил, он теперь со скобкой, вот именно в таком виде условие не работает.
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
*

dmitry_stas

  • Легенда
  • 12252
  • 1162 / 7
ну так вы ж показали вывод $product_freeattributes, я вам и написал $product_freeattributes. надо
Код
trim($prod->product_freeattributes)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

tima

  • Захожу иногда
  • 64
  • 3 / 0
А вот так сработало в лоб.
Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться