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

Не срабатывает твиг в product_form.twig


stanr

Recommended Posts

В product_list.twig есть переменная {{ product.href_shop }}

которая выводит кнопку со ссылкой на товар.

 

Хочу такую же добавить внутрь товара, но не понимаю как в product_form.twig внести данные в переменную {{ product.href_shop }} - сейчас она пустая и путь не выводится.

<a target="_blank" href="{{ product.href_shop }}" data-toggle="tooltip" title="{{ button_shop }}" class="btn btn-success"><i class="fa fa-eye"></i></a>

 

Может кто знает как это сделать и главное, почему именно так.

 

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


1 час назад, esculapra сказал:

В контроллере есть массив $data['product']. Добавь в него ключ href_shop и значение

 

Дело в том, что в контроллере /admin/controller/catalog/product.php  уже есть вот это:

 

            $data['products'][] = array(
                'product_id' => $result['product_id'],
                'image'      => $image,
                'name'       => $result['name'],
                'model'      => $result['model'],
                'price'      => $this->currency->format($result['price'], $this->config->get('config_currency')),
                'special'    => $special,
                'quantity'   => $result['quantity'],
                'status'     => $result['status'] ? $this->language->get('text_enabled_short') : $this->language->get('text_disabled_short'),
                'noindex'    => $result['noindex'] ? $this->language->get('text_enabled_short') : $this->language->get('text_disabled_short'),
                'href_shop'  => HTTP_CATALOG . 'index.php?route=product/product&product_id=' . $result['product_id'],
                'edit'       => $this->url->link('catalog/product/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $result['product_id'] . $url, true)
            );
        }

 

в функции  protected function getList() {

но я так понял, она не распространяется на product_form.twig, а как сделать, чтобы распространялось - вот это не могу понять.

то есть так как сейчас - данные из массива $data['products'] вооще не выводятся в product_form.twig

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


1 час назад, esculapra сказал:

Твиг понимает и варианты - product.href_shop или product['href_shop']

ага это понял, спасибо

только вот непонятно, почему он массив не видит в product_form.twig, хотя в контроллере он вроде как объявлен

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


31 минуту назад, stanr сказал:

только вот непонятно, почему он массив не видит в product_form.twig, хотя в контроллере он вроде как объявлен

Потому что product_form.twig выводится в getForm(), а не в getList() 

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

3 часа назад, iglin сказал:

Потому что product_form.twig выводится в getForm(), а не в getList() 

 

я догадываюсь об этом, но не понимаю что нужно прописать в функции getForm() чтобы в 'href_shop' передавался нужный параметр.

если просто скопировать массив $data['products'][] и всунуть в getForm() то ничего не происходит.

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


16 часов назад, stanr сказал:

я догадываюсь об этом, но не понимаю что нужно прописать в функции getForm() чтобы в 'href_shop' передавался нужный параметр.

если просто скопировать массив $data['products'][] и всунуть в getForm() то ничего не происходит.

Потому что гетЛист() выводит список товаров, соответственно $data['products'] содержит список всех товаров и их параметры. 

гетФорм() в свою же очередь выводит только один товар, и все данные о нём в массиве $data[].

Можете где нибудь там добавить 

if (isset($this->request->get['product_id'])) {

$data['href_shop'] = HTTP_CATALOG . 'index.php?route=product/product&product_id=' . $this->request->get['product_id'];

} else {

$data['href_shop'] = '';

}

а в твиге {{ href_shop }}

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

  • 3 weeks later...
В 16.03.2021 в 11:27, iglin сказал:

Потому что гетЛист() выводит список товаров, соответственно $data['products'] содержит список всех товаров и их параметры. 

гетФорм() в свою же очередь выводит только один товар, и все данные о нём в массиве $data[].

Можете где нибудь там добавить 


if (isset($this->request->get['product_id'])) {

$data['href_shop'] = HTTP_CATALOG . 'index.php?route=product/product&product_id=' . $this->request->get['product_id'];

} else {

$data['href_shop'] = '';

}

а в твиге {{ href_shop }}

 

Да, так работает, спасибо большое, толково объяснили )

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


  • 2 months later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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