Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Урок для нуба по php. Где косяк?


magneto2010

Recommended Posts

Решил сделать стикеры к товару. Включаться стикеры будут у товаров, у которых в поле ean прописано что угодно.

 

Для категории забубенил - пашет, показывается как нужно, только у тех, у которых заполнено поле.

 

Вот для карточки товара не могу раздуплить как сделать, не читает стиль, хотя стиль пишу по аналогии как и в category.php, которой всё норм работает.

 

Пишу так (часть кода)

 

if ($product_info['ean']) {
    $data['ean'] = '<div class="look"><a href="best-price">' . $product_info['ean'] . '</a></div>';
} else {
    $data['ean'] = false;
}
$data['products'][] = array(
'ean'         => $ean,
 

 

Значение выводиться, только не обёртывается в стиль http://prntscr.com/ahrgz7

 

Интересует правильность кода для product.php, то что выше - правильная ли конструкция или нет?

Надіслати
Поділитися на інших сайтах


В админке 
 
В файле  admin\view\template\catalog\product_form.tpl
 
находим 
 

<td><?php echo $entry_ean; ?></td>
<td><input type="text" name="ean" value="<?php echo $ean; ?>" />
</td>

меняем на переключатель Да-Нет
 

<td><?php echo $entry_ean; ?></td>
<td><?php if ($ean) { ?>
<input type="radio" name="ean" value="1" checked="checked" />
<?php echo $text_yes; ?>
<input type="radio" name="ean" value="0" />
<?php echo $text_no; ?>
<?php } else { ?>
<input type="radio" name="ean" value="1" />
<?php echo $text_yes; ?>
<input type="radio" name="ean" value="0" checked="checked" />
<?php echo $text_no; ?>
<?php } ?></td>

В контроллер карточки товара
 
после 

$this->data['model'] = $product_info['model']; 

Добавляем

$this->data['ean'] = $product_info['ean'];

если нужно в категории то соответственно
 

'ean'   => $result['ean'],

 
После

'name'        => $result['name'],

Далее добавляем див новый внутрь дива image и оборачиваем в условие
 
В карточке товара
 
 

<?php if ($ean) { ?>
       наш новый див
<?php } ?>

 
В категории
 
 

 <?php if ($product['ean']) { ?>
        наш новый див
<?php } ?>

Остальное стили.Вешаем на наш див бэкграунд или стилями обыгрываем как угодно.

  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо Том за ответ, но я немного по другому хотел.

 

 

if ($product_info['ean']) {
    $data['ean'] = '<div class="look"><a href="best-price">' . $product_info['ean'] . '</a></div>';
} else {
    $data['ean'] = false;
}
 

 

смысл вот этого был в том, что я любой текст писал в ячейке, (сегодня это распродажа, завтра товар дня или тп) и к этой записи, я цепляю ссылку на категорию, в которой дублируются товары имеющие этот знак. http://prntscr.com/ahszyz - стикер жмётся как ссылка.

 

Вот такая конструкция с дивом

 

if ($product_info['ean']) {

    $data['ean'] = '<div class="look"><a href="best-price">' . $product_info['ean'] . '</a></div>';
} else {
    $data['ean'] = false;
}

 

срабатывает только с cateory.php ( http://prntscr.com/aht2xc ) а в product.php - срабатывает без дива и ссылки( http://prnt.sc/aht503  )    Вопрос - почему див и ссылка не цепляется.

 

попробовал так, страница рубится

 

<?php if ($ean) { ?

       наш новый див
<?php } ?>

Змінено користувачем magneto2010
Надіслати
Поділитися на інших сайтах


 

<?php if ($ean) { ?>

       наш новый див

<?php } ?>

закрывать надо

 

...

 

вобще, че-т такого мудрите.. зачем false присваивать, зачем хтмл в переменную пихать.. Объясните простому народу, че хотите, авось подскажут

Змінено користувачем pantagruel964
Надіслати
Поділитися на інших сайтах

закрывать надо

 

...

 

вобще, че-т такого мудрите.. зачем false присваивать, зачем хтмл в переменную пихать.. Объясните простому народу, че хотите, авось подскажут

 

читайте первый пост.

 

Почему в категории таким способом 

if ($product_info['ean']) {

    $data['ean'] = '<div class="look"><a href="best-price">' . $product_info['ean'] . '</a></div>';

} else {

    $data['ean'] = false;

}

див читается и работает, а в карточке товара див не срабатывает, я хотел бы узнать ответ на этот вопрос. 

Змінено користувачем magneto2010
Надіслати
Поділитися на інших сайтах


Раз. В товаре

http://joxi.ru/Vm69076ix1GwNr

Два. В product.php

http://joxi.ru/n2YZD5efj43LBA

Три. В product.tpl

http://joxi.ru/823zZp9S6MPNRm

Четыре. Смотрим

http://joxi.ru/12MZMjWf4nZp0A

  • +1 1
Надіслати
Поділитися на інших сайтах

Спасиб, скрин второй помог, вписал там div с ссылкой и заработало, вот только этот див теперь во всех товарах показывается независимо от того, заполнен ли ean или нет.

Надіслати
Поділитися на інших сайтах


Не, проверка не прокатит, у вас же там хтмл в переменной.

 

В контроллере

$data['ean'] = $product_info['ean']; 

А свой хтмл в  шаблоне вставляйте

<?php if($ean)
{echo '<b>' . $ean . '</b>';}
?>
  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.