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

Как вывести масив в товаре? [решено]


Recommended Posts

В базе создал доп поля, при добавление товара добавил поле для вводи...

В категории стандартного шаблона вывожу вот так

<?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>
<?php for ($j = $i; $j < ($i + 4); $j++) { ?>
<?php if (isset($products[$j])) { ?>
<?php echo (substr($products[$j]['width'], 0, strlen($products[$j]['width'])-3) != 0 ? 'Ширина: ' . substr($products[$j]['width'], 0, strlen($products[$j]['width'])-3) . ' см<br />' : ''); ?>
<?php } ?>
<?php } ?>
<?php } ?>
Всё работает, как вывести это на самой странице товара?

Как не делаю, пишет что переменная не определена.

Link to post
Share on other sites

в файле контроллера определите ее в массиве $this->data['products']

Link to post
Share on other sites

А что вместо $j вставлять? если там было понятно, то здесь чё то не догоняю

PHP новичё, так что простите...

Вот сюда как вы и порекомендовали занёс

$this->data['products'][] = array(
'width'  => $result['width'];
);

ну точнее я вставил в уже существующий масив $this->data['products'][]

Link to post
Share on other sites

а вместо $j ничего вставлять и ненадо, $j - это всего лишь порядковый номер в массиве.

после того как в контроллере вставили в шаблоне после строк

<?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>
<?php for ($j = $i; $j < ($i + 4); $j++) { ?>
<?php if (isset($products[$j])) { ?>
в Вашем распоряжении будет доступна переменная $products[$j]['width'] с значением $result['width']; из контроллера. А вообще зря вы выбрали поле width, так как по умолчанию это поле уже существует в таблице product (и кстати в описании товара есть такое поле как "ширина", так что зачем его заного создавать непонятно, ну да ладно) и чтоб четко его отображать не помешало бы присвоить другой псевдоним при выборке, ну или, куда проще, изменить название вашего созданного поля.
Link to post
Share on other sites

Поле я взял для примера, название полей другие....

В контролере product.php в масив this->data['products'][] = array( который там существует, я вставил свои параметры...

$this->data['products'][] = array(
другие ячейки......
'width'  => $result['width'],
другие ячейки......
);
PS: Тоже самое находиться и в category.php

Тем способом что вы описали я вывожу данные в категории category.tpl... а на странице товара эти данные вывести не получаеться...

пишет что Переменная не определена...

Тоесть в category.tpl всё ок, а в product.tpl ошибки...

Link to post
Share on other sites

для страницы товара в контроллере пишем

$this->data['любая_переменная'] = $product_info['таблица_в_базе'];
но не раньше чем

$product_info = $this->model_catalog_product->getProduct($product_id);
в шаблоне будет переменная $любая_переменная
Link to post
Share on other sites

Спасибо огромное, очень помогли...

всё получилось :)

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.