Jump to content
Sign in to follow this  
Metek

Помогите с $_GET['product_id']

Recommended Posts

Был сделан хак небольшой для возможности выбора параметров товара

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

Вот ссылка на работающую страницу без включенной сео ссылки

http://setka-uniplast.com/index.php?route=product/product&path=20&product_id=76

 

Вот ссылка на страницу с включенной сео ссылкой где хак перестал работать как надо

http://setka-uniplast.com/rabytsa/rabitza.html

 

хак вшивался в product.tpl

 <?php if ($_GET['product_id'] == 47 or $_GET['product_id'] == 65 or $_GET['product_id'] == 75 or $_GET['product_id'] == 76 or $_GET['product_id'] == 66){?>

 

При изменении ссылки в конце отстутсвует ид номер страницы и хак не знает что показывать

Может кто то подсказать как побороть?

вот product.tpl

http://yadi.sk/d/c139AGOG9U8oc

Share this post


Link to post
Share on other sites

как минимум надо так


<?php if ($this->request->get['route']=='product/category' && $this->request->get['path']=='id страницы') { ?>
для продуктов product/product и product_id

Share this post


Link to post
Share on other sites

Я бы в контроллер добавил, типа: 

$this->data['products'][] = array(
   'product_id'  => $result['product_id'],
   ...

а ловил бы в ТПЛ-ке просто: 

<?php if ($product['product_id'] == 47 || $product['product_id'] == 65 || $product['product_id'] == 75 || $product['product_id'] == 76 || $product['product_id'] == 66){?>

Хотя, если о карточке товара идёт речь, то ещё проще:

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

а в ТПЛ :

<?php if ($product_id == 47 || $product_id == 65 || $product_id == 75 || $product_id == 76 || $product_id == 66){?>

Share this post


Link to post
Share on other sites

 

Я бы в контроллер добавил, типа: 

$this->data['products'][] = array(
   'product_id'  => $result['product_id'],
   ...

а ловил бы в ТПЛ-ке просто: 

<?php if ($product['product_id'] == 47 || $product['product_id'] == 65 || $product['product_id'] == 75 || $product['product_id'] == 76 || $product['product_id'] == 66){?>

не подскажете, как это же сделать для category_id?

хочу в хедере менять фоновую картинку в зависимости от текущего айди категории

Share this post


Link to post
Share on other sites

не подскажете, как это же сделать для category_id?

хочу в хедере менять фоновую картинку в зависимости от текущего айди категории

для категорий как раз я и ответил ))) https://opencartforum.com/topic/25942-помогите-с-getproduct-id/?do=findComment&comment=199905

  • +1 1

Share this post


Link to post
Share on other sites

не пойму тогда, куда энто вставить... и что такое айди страницы в коде? его вручную там вписывать?

Share this post


Link to post
Share on other sites

CONTROLLER

 

$this->data['cat_id'] = $category_info['category_id'];

 

TPL

 

<?php if ($cat_id == 47){ вывод нужного класса} else { клас по умолчанию }

Share this post


Link to post
Share on other sites

CONTROLLER

 

$this->data['cat_id'] = $category_info['category_id'];

 

TPL

 

<?php if ($cat_id == 47){ вывод нужного класса} else { клас по умолчанию }

вставляю в контроллер хедера, получаю ошибку

Notice: Undefined variable: category_info in .../catalog/controller/common/header.php on line 20

Share this post


Link to post
Share on other sites

Попробуйте после:

$category_info = $this->model_catalog_category->getCategory($category_id);

 добавить:

$this->data['cat_id'] = $category_id;

Share this post


Link to post
Share on other sites

все равно та же ошибка...

может чет не так делаю?

я в контроллер header.php 

вставляю строку 

$this->data['cat_id'] = $category_info['category_id'];

в контроллер category.php

$this->data['cat_id'] = $category_id;

Share this post


Link to post
Share on other sites

Если в контроллер header.php  , то будет ошибка однозначно... писалось для контроллера category.php

Share this post


Link to post
Share on other sites

так в том и дело, что мне нужно айди категории вывести в хедере, чтобы я там мог менять фоновую картинку в зависимости от категории

Share this post


Link to post
Share on other sites

Если через хедер делать, то направление примерно такое:

в файл - catalog\controller\common\header.php

перед строкой

'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])

добавить

'back'     => $category['category_id'],

 

в файл - catalog\view\theme\default\template\common\header.tpl

перед

</head>

 

добавить

<style type="text/css">
<!--
body {
background: url("catalog/view/theme/default/image/bg<?php foreach ($categories as $category) { ?>
<?php if ($category['active']) { ?>
<?php echo $category['back']; ?>
<?php } else {}} ?>.jpg") no-repeat center top fixed;
}
-->
</style>

 

в папку - catalog/view/theme/default/image/

поместить фоновые изображения с именами

bg.jpg - для страниц не относящихся к категориям

bgX.jpg - для страниц категорий где X=id категории

  • +1 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.