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

Изменение страницы со списком товаров [Решено]

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

Добрый день,нужна помощь.Нужно чтобы все товары выводились не квадратиками а построчно,например как в корзине,чтобы можно было на нее нажать и перекинуло на страничку с товаром,где его уже можно заказать,так понимаю что это чисто верстка и помочь мне будет не сложно...И еще чтобы в этой строке выводилось небольшое описание,обрезаное до опр. количества символов.

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


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

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

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

<?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>	<tr>		<?php for ($j = $i; $j < ($i + 4); $j++) { ?>

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


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

Появилась еще одна проблемма,на главной страничке все нормально выводиться списком,а в категорияхподкатегориях выбивает Notice: Undefined offsetкак исправить?

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


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

попробывал сам дописать в контролер вывод описания,дописал почти успешно,но мне по одной букве выводит((((кто нить поможет или нет?уже 2 дня фигней страдаю...

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


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

чеж ты там 2 дня ковыряешь то?))

лови свое решение:

табличка где выводятся товары (файл ..catalogviewthemedefaulttemplateproductcategory.tpl)

<table class="list">      <?php for ($j = 0; $j < sizeof($products); $j++) { ?>	  <tr>        <td width="30%"><?php if (isset($products[$j])) { ?>          <a href="<?php echo $products[$j]['href']; ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a>          <a href="<?php echo $products[$j]['href']; ?>"><?php echo $products[$j]['name']; ?></a>          [color= #999; font-size: 11px;]<?php echo $products[$j]['model']; ?>[/color]          <?php if ($display_price) { ?>          <?php if (!$products[$j]['special']) { ?>          [color= #900; font-weight: bold;]<?php echo $products[$j]['price']; ?>[/color]          <?php } else { ?>          [color= #900; font-weight: bold; text-decoration: line-through;]<?php echo $products[$j]['price']; ?>[/color] [color= #F00;]<?php echo $products[$j]['special']; ?>[/color]          <?php } ?>          <?php } ?>          <?php if ($products[$j]['rating']) { ?>          <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" />          <?php } ?>          <?php } ?></td>		 <td><?php echo $products[$j]['description']; ?></td>              </tr>	  <?php } ?>    </table>

в ..catalogcontrollerproductcategory.php найди где описывается массив

$this->data['products'][] = array(
и добавь туда строчку

'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),

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


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

Не выходит :)вообще ничего не показывает... :(

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


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

вот не пожалел 2 минут своего драгоценного времени, благо под рукой оказалась девственно чистая, не тронутая ни единым модулем сборка 1.4.7 v0.4 опенкарта, и все прекрасно заработало =) так что ищи проблемы у себя

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


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

Скажите, а как сделать такой построчный вывод каталога на отдельной странице? )

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


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

Нашел решение: скачал модуль All products с opencart.com и просто убрал вывод иконок, br + изменил количество единиц на странице по умолчанию.

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


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

Скажите, какой идентификатор отвечает за название производителя?$j - переменная цикла, вывод цены товара echo $products[$j]['price'], названия $products[$j]['name'],а как выводить производителя? пробовал $manufacturer_id[$j]['name'] - не то.

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


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

по умолчанию нету такого идентификатора.

добавить можно следующим образом:

в файле ..catalogcontrollerproductcategory.php (если я правильно понял в категориях его надо вам?)

найти массив

$this->data['products'][] = array(	'name'    => $result['name'],	'model'   => $result['model'],	'rating'  => $rating,	'stars'   => sprintf($this->language->get('text_stars'), $rating),	'thumb'   => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')),	'price'   => $price,	'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),	'special' => $special,	'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']));
и добавить туда строчку

'manufacturer' => $result['manufacturer'],

после чего в шаблоне станет доступна переменная $products[$j]['manufacturer']

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


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

Получилось конечно сделать,но вот описание порезать не выходит...пытаюсь порезать функцией mb_substr...выходит что-то такого плана...<?php $products[$j]['price']; echo mb_substr($strname, 0, 30)."..."; ?>не показивает вообще ничего...

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


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

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

'description' => mb_substr(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 0, 200),

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


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

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

'description' => mb_substr(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 0, 200),
У вас получилось порезать?у меня почему то нет!!! еще хуже стало, текст перестал выводится и все фото товаров съехали вправо.

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


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

ну да, вообще без проблем, да в этой строчке ничего криминального то и нету.

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


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

Спасибо разобрался, работает - тестирую, доделываю.а так просто супер!!!только как убрать ? ?после обрезания строки получается.

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


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

Обрезание строки не спасет ..и тем не менее если еще актуально то в catalog/controller/product/category.phpнеобходимо установить внутреннюю кодировку символов добавить строчку сразу после <?phpmb_internal_encoding("UTF-8");надеюсь кому нибудь пригодиться =)

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


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

а я у себя сдела вывод в обоих вариантах :)

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


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

Обрезание строки не спасет

Не понял, от чего не спасет?

СПАСИБО!!! Пример работает идеально, во врсяком случае пока.....

А я уж собирался делать отдельную таблицу, отдельное поле ввода и так далее, чтобы выводить все это отдельным текстом....

может отдельным ото было бы и лучше, но пока пуская так....

Если сделаю, выложу инструкцию....

Думаю по сути там то же самое, что и добавление палей к товару, как описано на этом форуме, только поле побольше....

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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