Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


stanr
 Share

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>

 

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

 

Link to comment
Share on other sites


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

почему именно ик.

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites


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

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

ага это понял, спасипотому что

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites

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

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

 

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

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

Link to comment
Share on other sites


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
Link to comment
Share on other sites

  • 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 }}

 

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

Link to comment
Share on other sites


  • 2 months later...

Здравствуйте!

Реально-ли в админке в product_form.twig вывести переменную {{ attribute_group.name }} из фронтенда product.twig?

Link to comment
Share on other sites


4 часа назад, Dimaz55 сказал:

Реально-ли в админке в product_form.twig вывести переменную {{ attribute_group.name }} из фронтенда product.twig?

реально

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.