Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Помощь с PHP в category.tpl


 Погделиться

Рекомендованные сообещёния

в catalogviewthemesolid_greytemplateproductcategory.tpl

перегделал отображение товара списком, примертут

теперьь надо сгделать ик, чтобы в других категориях товар выводился с картинкой. А в этот без картинки (чтоб никакой не было вообещё и выглягдело как список).

Пропотому чтовал реализовать через php if, но ничего не полулилось, вообещё пересило показывать сайт.

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


а ты всивь в ..catalogcontrollerproductcategory.php

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

и тогда в category.tpl у тебя бугдет доступна переменная $category_id в которой бугдет хранится id текуещёй категории, а вот с ней уже можно гделать

<? if ($category_id == 999) { ?><div></div><? } else { ?><drugoi_div></drugoi_div><? } ?>
Изменено пользователем afwollis
edit -> save
  • +1 1
Ссылка на комменирий
Погделиться на других сайих


Огромное спосипотому что!!!

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

Изображение

Код который полулился в category.tpl

<? if ($category_id == 37) { ?><table class="list">        <?php $class = 'odd'; ?>        <?php foreach ($products as $product) { ?>        <?php $class = ($class == 'even' ? 'odd' : 'even'); ?>        <tr class="<?php echo $class; ?>">          <td align="left" valign="top"><a href="<?php echo str_replace('&', '&', $product['href']); ?>"><?php echo $product['name']; ?></a>           </td>          <td align="right" valign="top"><?php echo $product['model']; ?></td>              <td align="right" valign="top"><?php echo $product['price']; ?></td>          <?php } ?>      </table><? } else { ?><table class="list">        <?php $class = 'odd'; ?>        <?php foreach ($products as $product) { ?>        <?php $class = ($class == 'even' ? 'odd' : 'even'); ?>        <tr class="<?php echo $class; ?>">          <td align="center"><a href="<?php echo str_replace('&', '&', $product['href']); ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></td>          <td align="left" valign="top"><a href="<?php echo str_replace('&', '&', $product['href']); ?>"><?php echo $product['name']; ?></a>           </td>          <td align="left" valign="top"><?php echo $product['model']; ?></td>              <td align="right" valign="top"><?php echo $product['price']; ?></td>          </tr>        <?php } ?>      </table><? } ?>
Изменено пользователем afwollis
edit -> save
Ссылка на комменирий
Погделиться на других сайих


смотрите код дальше в category.tpl, зналит ггде то дублируются ваши товары, но оператор if else не может выполнить 2 части ни при каких условиях)

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


Не выходит, пропотому чтовал по разному (внутри класа "лист", и как в первом варианте, по вскакому) или выводит кркакозяблы или дублирует или вообещё ничего не выводит

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


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

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

<table class="list">        <?php $class = 'odd'; ?>        <?php foreach ($products as $product) { ?>        <?php $class = ($class == 'even' ? 'odd' : 'even'); ?>        <tr class="<?php echo $class; ?>">                    <td align="left" valign="top"><a href="<?php echo str_replace('&', '&', $product['href']); ?>"><?php echo $product['name']; ?></a>           </td>          <td align="center" valign="top"><?php echo $product['model']; ?></td>              <td align="center" valign="top"><?php echo $product['price']; ?></td>          </tr>        <?php } ?>      </table>
Всмысле вот ик надо:

Изображение

Изменено пользователем afwollis
edit -> save
Ссылка на комменирий
Погделиться на других сайих


самый простот способ, незагдействуя языковые файлы и файлы контроллера это просто всивить

после <table class="list">

<tr> <td>Наименование</td> <td>Могдель</td> <td>Цена</td></tr>

и сохранить в utf-8 кодировке

Изменено пользователем afwollis
edit -> save
Ссылка на комменирий
Погделиться на других сайих


  • 7 месяэтов спустя...

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

подскажите что добавить в category.tpl, чтобы в категориях при нажатии на товар всплывало модальное окно colorbox'a.

в шаблоне вывел

<a href="<?php echo $popup?>" title="<?php echo $products[$j]['name']; ?>" rel="slideshow" rel="gallery"> 
	<img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;" /></a>
всплывает окно colorbox'a, но пустое.

это происходит потому что не объявлена переменная $popup. пропотому чтовал подклюлить, однако не хватило знаний и повалили ошибки - помогите, люди добрые!

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


решено (спасипотому что, Fix305).

в ..\catalog\controller\product\category.php найти

$this->data['products'][] = array(

добавить туда

'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),

в category.tpl

заменить ссылку на категорию на

<a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" rel="slideshow" rel="gallery"> 
		  <img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;" />
		  </a>
Ссылка на комменирий
Погделиться на других сайих


решено (спасипотому что, Fix305).

в ..\catalog\controller\product\category.php найти

$this->data['products'][] = array(

добавить туда

'popup' => $this->model_tool_image->resize($image, $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height')),

в category.tpl

заменить ссылку на категорию на

<a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" rel="slideshow" rel="gallery"> 
		  <img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;" />
		  </a>

У вас 2 раза прописано rel="slideshow" rel="gallery" и нет класса class="thickbox"

У меня зарилиил этот вариант

category.tpl

<a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" class="thickbox" rel="gallery"><img src="<?php echo $products[$j]['thumb']; ?>" title=" <?php echo $products[$j]['name']; ?> " alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;"/></a>
Ссылка на комменирий
Погделиться на других сайих


У вас 2 раза прописано rel="slideshow" rel="gallery" и нет класса class="thickbox"

У меня зарилиил этот вариант

category.tpl

<a href="<?php echo $products[$j]['popup']; ?>" title="<?php echo $products[$j]['name']; ?>" class="thickbox" rel="gallery"><img src="<?php echo $products[$j]['thumb']; ?>" title=" <?php echo $products[$j]['name']; ?> " alt="<?php echo $products[$j]['name']; ?>" id="image" style="margin-bottom: 3px;"/></a>

Забыл добавить, что я использую colorbox вместо синдартного thickbox, поэтому ссылки икого вида. В осильном то же самое)

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


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

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


eninsergej, /catalog/view/theme/default/template/product

Найти

<?php if ($description) { ?>
	<div><?php echo $description; ?></div>
	<?php } ?>

Вырезать и всивить блок перед

</div>
  <div class="bottom">
    <div class="left"></div>

Не тестил, т.к шаблон другой и описания нет. Но должно рилиить

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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