Перейти к содержанию
wowkas

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

Рекомендуемые сообщения

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

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

<?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 } ?>
Всё работает, как вывести это на самой странице товара?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а вместо $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 (и кстати в описании товара есть такое поле как "ширина", так что зачем его заного создавать непонятно, ну да ладно) и чтоб четко его отображать не помешало бы присвоить другой псевдоним при выборке, ну или, куда проще, изменить название вашего созданного поля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.