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

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

в 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 части ни при каких условиях)

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


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

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

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


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

скинь свой category.tpl на fix305[at]gmail.com, ну или тут прикрепи

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


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

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

category.zip

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


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

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

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

<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

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


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

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

подскажите что добавить в 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. пробовал подключить, однако не хватило знаний и повалили ошибки - помогите, люди добрые!

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


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

знатоки php!! отзовитесь..

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


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

решено (спасибо, 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>

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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