Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Кнопка-ссылка из админки в карточку товара


Recommended Posts

Всем привет! В админке Ocstore реализована удобная функция - на странице редактирования товара наверху в правом углу имеется кнопка перехода в карточку этого товара. В Русской сборке Опенкарт 3.0.3.7 данного удобства нет. Поиск в интернете нужной информации не дал, поэтому решил править  файл /admin/view/template/catalog/product_form.twig методом проб и ошибок. Скопировал из Ocstore отвечающий за эту функцию участок кода:

 

 <?php if (isset($product_page)) { ?><a class="btn btn-info" href="<?php echo $product_page; ?>" target="_blank" data-toggle="tooltip" title="<?php echo $button_view; ?>"><i class="fa fa-eye"></i></a><?php } ?>

 

и вставил в нужном месте вышеуказанного файла. Кнопка то появилась, но ведёт на несуществующую страницу. Просьба знатокам подсказать, где косяк, в PHP я абсолютный ноль )

 

Link to comment
Share on other sites


Этот явно не подойдёт. Между 2 и 3 версиями опенкарта разница в tpl и twig и коды от двойки не годятся для тройки, их нужно править. 

Link to comment
Share on other sites


3 минуты назад, yolbars77 сказал:

разница в tpl и twig

ах елы палы
Посмотрите как это сделано

tpl поменять не twig
и echo прtвратить в {{ }}
Это на порядок меньше времени, чем ждать и ничего не делать

 

Link to comment
Share on other sites

Извините, но вы плохо читаете. Я с самого начала признал, что в PHP не просто ноль, а абсолютный никто )))) 
Всё, что мне нужно - это чтобы кто-то из знающих помог подправить код:

<?php if (isset($product_page)) { ?><a class="btn btn-info" href="<?php echo $product_page; ?>" target="_blank" data-toggle="tooltip" title="<?php echo $button_view; ?>"><i class="fa fa-eye"></i></a><?php } ?>

Данный код вписался правильно, дизайн страницы редактирования товара собой не испортил, открывает страницу при клике, единственное, открывается несуществующий адрес. 

Link to comment
Share on other sites


5 часов назад, yolbars77 сказал:

Данный код вписался правильно, дизайн страницы редактирования товара собой не испортил, открывает страницу при клике, единственное, открывается несуществующий адрес. 


Непонятно, что и куда у вас могло вписаться. Этого никак не могло получиться на тройке с выше приведенным модулем.
У вас точно третья версия опенкарт? В ней вы вообще никаких изменений не могли бы увидеть
 

Link to comment
Share on other sites


  • 3 weeks later...
В 19.06.2021 в 08:04, Shureg сказал:


Непонятно, что и куда у вас могло вписаться. Этого никак не могло получиться на тройке с выше приведенным модулем.
У вас точно третья версия опенкарт? В ней вы вообще никаких изменений не могли бы увидеть
 

Не устанавливал я никаких модулей, я уже в начале данной ветки объяснил.  Что я сделал? Полез в Оксторе 2.x, в файле  /admin/view/template/catalog/product_form.tpl нашёл участок кода 

 <?php if (isset($product_page)) { ?><a class="btn btn-info" href="<?php echo $product_page; ?>" target="_blank" data-toggle="tooltip" title="<?php echo $button_view; ?>"><i class="fa fa-eye"></i></a><?php } ?>

 

Это код кнопки в админке на странице редактирования товара, при нажатии на данную кнопку открывается карточка редактируемого товара. Этот код я вставил вручную перед записью "<button type="submit" form="form-product" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button>" в файле /admin/view/template/catalog/product_form.twig третьей версии Опенкарта.  Кнопка в админке появилась, встала рядом с кнопкой сохранения изменений, как и ожидалось. Однако при нажатии на новую кнопку открывается страница ошибки, а не карточка товара. 

Link to comment
Share on other sites


В 19.06.2021 в 08:27, Shureg сказал:

Переделал мод выше, не проверял. Попробуйте, вдруг получится
 

view.buttons3.ocmod.xml.zip 1 \u043a\u0411 · 2 downloads

Увы, не установился ни в zip формате, ни в распакованном виде. 

Link to comment
Share on other sites


Вот такую кнопку я хочу в Русской сборке Опенкарт версии 3.0.3.7 (rs.1) . Эта кнопка на странице редактирования товара, при клике на неё в новой вкладке браузера открывается карточка товара. Это удобно. 

 

Screenshot_1.jpg

Edited by yolbars77
Link to comment
Share on other sites


6 часов назад, yolbars77 сказал:

Этот код я вставил вручную перед записью

Это бесполезное действие, в twig не работает php код. Совсем, никак.
 

 

6 часов назад, yolbars77 сказал:

Увы, не установился ни в zip формате, ни в распакованном виде. 

Я с названием файла ошибся, уберите xml, переименуйте:
view.buttons3.ocmod.zip
Распаковывать не надо, распакованный не установится.

Link to comment
Share on other sites


54 минуты назад, Shureg сказал:

Это бесполезное действие, в twig не работает php код. Совсем, никак.
 

 

Я с названием файла ошибся, уберите xml, переименуйте:
view.buttons3.ocmod.zip
Распаковывать не надо, распакованный не установится.

Теперь установилось, и... тишина. Ни кнопки нет, ничего не сменилось. 

Link to comment
Share on other sites


Неужели некому подсказать, что изменить в коде <?php if (isset($product_page)) { ?><a class="btn btn-info" href="<?php echo $product_page; ?>" target="_blank" data-toggle="tooltip" title="<?php echo $button_view; ?>"><i class="fa fa-eye"></i></a><?php } ?> Опенкарта 3x, чтобы кнопка в админке на странице редактирования товара вела в карточку товара?

Edited by yolbars77
Link to comment
Share on other sites


2 часа назад, yolbars77 сказал:

Неужели некому подсказать, что изменить в коде <?php if (isset($product_page)) { ?><a class="btn btn-info" href="<?php echo $product_page; ?>" target="_blank" data-toggle="tooltip" title="<?php echo $button_view; ?>"><i class="fa fa-eye"></i></a><?php } ?> Опенкарта 3x, чтобы кнопка в админке на странице редактирования товара вела в карточку товара?

Я не знаю, как вам ещё объяснить, что этот код в 3ос работать не будет. 
Ни при каких изменениях.

И причин две:
1. В twig код php вообще не работает
2. А не в твиг этот код сам по себе все равно работать не будет, прежде чем выводить переменную, ее надо создать.

 

 

2 часа назад, yolbars77 сказал:

Теперь установилось, и... тишина. Ни кнопки нет, ничего не сменилось. 

А вы модификаторы обновляли? Смотрели, появились или нет изменения в том самом твиг-файле (в кэеше модфикаторов), который вы упорно пытаетесь в php научить.

Link to comment
Share on other sites


5 часов назад, Shureg сказал:

Я не знаю, как вам ещё объяснить, что этот код в 3ос работать не будет. 
Ни при каких изменениях.

И причин две:
1. В twig код php вообще не работает
2. А не в твиг этот код сам по себе все равно работать не будет, прежде чем выводить переменную, ее надо создать.

 

 

Ваши изречения из двух пунктов мне и самому известны, они лишние. Я уважаю то, что вы знаете php намного больше меня. Не понимаю ваше желание вставить красивое словцо, не вникнув в проблему. Почитайте мою тему с самого начала... Благо, переписки не так уж много и читать долго не придётся! Я с самого начала поднял тему О ТОМ, ЧТО код php в twig не работает, сам и написал, что "между 2 и 3 версиями опенкарта разница в tpl и twig и коды от двойки не годятся для тройки, их нужно править." И попросил помочь изменить php код, в котором я не силён.     

 

 

5 часов назад, Shureg сказал:

 

А вы модификаторы обновляли? Смотрели, появились или нет изменения в том самом твиг-файле (в кэеше модфикаторов), который вы упорно пытаетесь в php научить.

 

Модификаторы обновляю после каждой вставки модуля или иной операции, очищаю кеш CMS, чищу кеш браузера.  Ваш код, увы, к положительным изменениям не привёл, кнопка и та не появилась. Более того, в тот самый твиг файл попытался вручную вставить отрывок вашего кода:                    

{% if $product_link %}
<a href="{{ product_link }}" data-toggle="tooltip" target="_blank" class="btn btn-default" title="{{ $button_preview_product }}"><i class="fa fa-eye"></i></a>
{% endif %} 

в итоге, этот код приводит к ошибке. Кнопка открытия карточки товара не появляется, а вот клик по кнопке редактирования товара приводит к ошибке "Сайт такой-то пока не может обработать этот запрос"

Link to comment
Share on other sites


3 минуты назад, yolbars77 сказал:

И попросил помочь изменить php код, в котором я не силён.     

Бессмысленный какой-то разговор. Код php нельзя изменить, чтобы он работал в twig. Как еще это донести, я не знаю.
И только правкой twig вы никак не выведите нужную вам кнопку, нельзя отобразить переменную, не задав ее в контроллере. Вам надо изменять файл контроллера, а не только twig. Так что вставлять туда огрызки кода - занятие бесперспективное.
У вас уже есть окмод, смотрите, что и где он меняет.
 

 

7 минут назад, yolbars77 сказал:

в итоге, этот код приводит к ошибке. Кнопка открытия карточки товара не появляется, а вот клик по кнопке редактирования товара приводит к ошибке "Сайт такой-то пока не может обработать этот запрос"

Этот код в принципе не способен привести к такой ошибке, даже если его воткнуть от балды в любое место шаблона. Вы что-то не то и не там делаете.

Link to comment
Share on other sites


17 минут назад, Shureg сказал:

Бессмысленный какой-то разговор. Код php нельзя изменить, чтобы он работал в twig. Как еще это донести, я не знаю.
И только правкой twig вы никак не выведите нужную вам кнопку, нельзя отобразить переменную, не задав ее в контроллере. Вам надо изменять файл контроллера, а не только twig. Так что вставлять туда огрызки кода - занятие бесперспективное.
У вас уже есть окмод, смотрите, что и где он меняет.
 

 

Этот код в принципе не способен привести к такой ошибке, даже если его воткнуть от балды в любое место шаблона. Вы что-то не то и не там делаете.

 

"правкой twig вы никак не выведите нужную вам кнопку, нельзя отобразить переменную, не задав ее в контроллере. Вам надо изменять файл контроллера, а не только twig."  - наконец-то разъяснили полным ответом. Я предполагал, что вставив в файл переделанный из php кода злополучный twig код, я в итоге получу ту самую кнопку. И в мыслях не было, что нужно менять ещё и контроллеры. Спасибо за разъяснение!  

Link to comment
Share on other sites


Посмотрите на гите тестовую сборку ocStore 3.0.3.7b, может быть в ней уже есть нужный функционал.

И думаю, вполне подошел бы и от 3.0.2, не понимаю зачем переделывать костыли из старых версий.

Link to comment
Share on other sites

В-общем, там в первоначальном моде еще и категории, и карточка товара, и не все правильно в ОС3. 
Так что вырезал "лишнее", попробуйте лайт-версию. 
Только просомтр из списка товаров
(на дефолтном ос3 работает, проверил)

viewbuttons3.ocmod.zip

Edited by Shureg
Link to comment
Share on other sites


Всем спасибо, вопрос уже неактуален! Кому интересно - решение оказалось совсем простое... нашёл бесплатный модуль https://opencartforum.com/files/file/8819-quickview-ssylki-dlja-prosmotra-iz-adminki-na-vitrine/  . На Русскую версию Opencard 3 установился без проблем, появились кнопки с админки на пользовательскую часть на страницах редактирования категорий, товаров, отзывов и статей. 

 

Link to comment
Share on other sites


  • 1 year later...

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.