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

Условие для определенной страницы категории на опенкарт


Recommended Posts

Подскажите, пожалуйста, как написать условие для определенной страницы категории на опенкарт???????

Так не работает(((

<?php if ($category_id == 91) { ?>
текст
<?php } ?>

Edited by Julia1991radionova
Link to post
Share on other sites

если это контроллер категории
catalog\controller\product\category.php
то внутри if ($category_info) { ... } добаваить
 

if ($category_id == 91) {
    ...
}

все зависит от того, где это условие нужно вставить

Edited by thentru
Link to post
Share on other sites

9 минут назад, Julia1991radionova сказал:

Нужно вывести в файле category.tpl

Так вам про него и пишут - только подключаете это в catalog\controller\product\category.php

Link to post
Share on other sites

Добавить в catalog\controller\product\category.php

 

$data['category_id'] = $category_id;

перед if ($category_info) {

 

и сможете в шаблоне делать условие if($category_id) {

Link to post
Share on other sites

в контроллере, как вам советовал @thentru , условие и создаете переменную с нужными данными.  в шаблоне выводите эту переменную.

$data['data_in_template'] = ......  в шаблоне    <?php echo $data_in_template; ?>

Link to post
Share on other sites
4 минуты назад, spectre сказал:

$data['category_id'] = $category_id;

и в шаблоне,  будет текущая категория  

Link to post
Share on other sites
27 минут назад, fanatic сказал:

и в шаблоне,  будет текущая категория  

 

Ну так и задача такая была :)

 

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

Нужно вывести в файле category.tpl

 

Link to post
Share on other sites
1 час назад, spectre сказал:

Ну так и задача такая была

 

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

как написать условие для определенной страницы категории

 

если передать

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

$data['category_id'] = $category_id;

условие

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

if($category_id) {

всегда выполнится

Link to post
Share on other sites
31 минуту назад, fanatic сказал:

 

 

если передать

условие

всегда выполнится

 

Вы это серьезно сейчас пишете? :) А то у меня уже картинка "в интернете кто-то неправ" всплывает перед глазами

Link to post
Share on other sites

Братцы, вы оба правы, но Фанатик правее.

Только Спектр указал, что условие ТС в tpl не работает, т.к. контроллер не передал id категории, и надо его передать

А Фанатик( и другие) уточнил, что логику надо держать подальше от tpl и всю размещать в контроллере.

Edited by jaffagold
Link to post
Share on other sites

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

$data['data_in_template'] = ......  в шаблоне    <?php echo $data_in_template; ?>

Подскажите, каким образом ключ data_in_template превращается в переменную $data_in_template ?

Какая то функция применяется или метод? Где и как происходит это волшебное превращение?

Link to post
Share on other sites

посмотрите эти файлы

system/engine/loader.php метод view()
system/library/template.php 
system/library/template/php.php 

а если очень кратко   -    extract()

  • +1 1
Link to post
Share on other sites
  • 1 year later...

Добрый день. А можно еще раз обьяснить)?

Я вставляю в контроллер image.png.62316603eb6c2a900b7f000f2173f254.png

в category.tpl image.png.79e2e5435d89199347e6d7831256e961.png

и у меня не работают категории((

Link to post
Share on other sites

потому что:

1 - 17_70 это не число и не category_id, это path

2 - нужна в условии конечная категория, 17,70,65

 

я бы сделал так:

if (in_array($category_id, array(17, 70, 65)) {

 

ну и вздослый на взрослый поменять, конечно 500 ошибки не будет но все же)

Link to post
Share on other sites

image.png.10fffae376140670d97155b4ce30717d.png если так, то 500(

и 17, 70, 65 слегка не те страницы( 

Link to post
Share on other sites

еще одна скобочка в конце условия, их 3 должно быть

category_id всегда целое число

Link to post
Share on other sites

c 500 разобрались, image.png.2bf28b10d5627186d6e4d3af65e6bbdd.pngно так не появляется попап окно, как будто ни чего ни писали. А если через $breadcrumb можно отловить нужные категории?

 

Link to post
Share on other sites

Ну так чтоб оно появлялось его надо скриптом инициализировать

Link to post
Share on other sites

Она инициализирована .Вопрос был не как вывести модалку ,а как ее сделать на определенных страницах с каличным id и если не к id, то к чему привязываться

 

Link to post
Share on other sites

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

а как ее сделать на определенных страницах с каличным id

вам уже ответили

11 часов назад, spectre сказал:

я бы сделал так:

if (in_array($category_id, array(17, 70, 65)) {

 

Link to post
Share on other sites

мне нужно обратиться к страницам 17, 17_70,17_65 , а они как 

12 часов назад, spectre сказал:

1 - 17_70 это не число и не category_id, это path

не только id(

 

Link to post
Share on other sites

45 минут назад, lisa15 сказал:

мне нужно обратиться к страницам 17, 17_70,17_65 ,

ну правильно, скрипт от @spectre и сработает в этих категориях

 

Link to post
Share on other sites
49 минут назад, lisa15 сказал:

17_70

вторая цифра это и есть  id текущей категории

Link to post
Share on other sites

 чего в итоге хочет добиться ТС ?@Julia1991radionova

Как мне подсказывают внутренности моей пустой головы, вы хотите вывести какой нить блок с текстом в определённых категориях, нет?
если так то юзайте функционал по умолчанию - схемы

Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • 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.