1 1 1 1 1 1 1 1 1 1 Рейтинг: 4.50 - 1 отзыв

Умная страница товара, категории и производителя

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

Зачем это надо?

Для лучшей видимости и людьми и поисковиками.

 

 

 

Идея в общем простая: внести необходимые изменения и получить автоматическое наполнение описания товара, тегов Альт и Тайтл картинок. И немного улучшить карму страницы.

Итак, что мы делаем, по порядку.


Вид карточки товара в JoomShopping

Улучшение карточки товара


По-простому, мы ставим в нужном месте тег H1, чтобы получилось вот так:

<h1><?php print $this->product->name?></h1>

И так же поступить с H2, можно поигравшись с цветами:

<h2><span style="color: #ffb400;"><?php echo $product->short_description?></span></h2>

В карточке товара указывается Производитель и картинка производителя. У картинки производителя есть ссылка на все товары производителя, а у ссылки - нет. Исправляем и получаем автоматическую ссылку с указанного производителя на все товары этого производителя.

<div class="manufacturer_name">
<?php print _JSHOP_MANUFACTURER?>: 
				
				<a href="/<?php print SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id='.$this->product->product_manufacturer_id, 2);?>">
                        
<span><?php print $this->product->manufacturer_info->name?></span>
				
				
				 </a>

В карточке товара нет переменной "категория"

Для того, чтобы ее использовать идем в:

components\com_jshopping\controllers\product.php

и после строк:

$category = JTable::getInstance('category', 'jshop');
$category->load($category_id);
$category->name = $category->getName();

Прописать:

$categoryname = $category->name;



И после:

$view->assign('urlupdateprice', SEFLink('index.php?option=com_jshopping&controller=product&task=ajax_attrib_select_and_price&product_id='.$product_id.'&ajax=1',1,1));

Прописать:

$view->assign('categoryname', $categoryname);

Теперь можно вывести название категории в товаре

<?php print $this->categoryname ?>

В карточке товара есть следующие переменные для использования

Наименование товара

<?php print $this->product->name?>

Краткое описание

<?php echo $product->short_description?>

Производитель

<?php print $this->product->manufacturer_info->name?>

Код товара:

<?php print $this->product->getEan();?>

Цена товара

<?php print formatprice($this->product->getPriceCalculate())?>

Как собирать из переменных текст

Из этих переменных мы можем собрать текст под
<?php print $this->_tmp_product_html_after_description;?>
и теги Альт и Тайтл.

Пример:

<h3 style="padding-left: 25px;"><span style="font-size: 16pt; color: #ffb400;"><?php print $this->product->name?> купить</span></h3>
Текст <a title="" href="/" rel="alternate">Текст</a> текст <em><?php print $this->product->name?></em> текст . 
<?php echo $product->short_description?> текст  "<?php print $this->product->manufacturer_info->name?>" текст .
		

Тут лучше делать так: если текста статьи нет, то появляется автоматический. Если есть, то автоматический исчезает (или остается часть снизу).

Делается это с помощью if:

if (!$this->product->description<1)
{
СЮДА НАШ СОБРАННЫЙ КОД
}
if (!$this->product->description>0)
{
$this->product->description;
}

Как сцепить переменные и текст

Между переменными ставим точку.

$this->$name. $this->$short_description

Текст обрамляем кавычками:

$this->$name. ", ". " МОЙ ТЕКСТ ".$this->$short_description

Создать свои ALT и TITLE для картинок

Родные Альты и Тайтлы формируются в карточке товара таким образом.

<a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="/<?php print $this->image_product_path?>/
<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?> 
title="<?php print htmlspecialchars($image->_title)?>">
<img id = "main_image_<?php print $image->image_id?>" class="main_image" src = "<?php print $this->image_product_path?>/
<?php print $image->image_name;?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" />

Видно, что у full вообще нет alt, один title.

Кроме того, и у full и у среднего изображения (которое видно в карточке товара) и alt и title равны.

Исправляем это безобразие.

Можно сделать так, чтобы:

  1. title были короткие, а alt длинные
  2. title содержали английский язык, а alt русский (из короткого содержания)
  3. Добавить текст
  4. все title (в файлах: продукт, список, категория, производитель) должны быть равны. То же самое и с alt.

Жертвы у нас две:

1.Title

title="<?php print htmlspecialchars($image->_title)

Повторяется он два раза (это разные размеры картинки товара, так как картинка одна и та же, то и Title должен быть одинаковым).

Нужно собрать используя название товара и прибавить слово (фото, картинка, город). Например так:

title="<?php print htmlspecialchars($this->product->short_description. " МОЕ СЛОВО")?>

2. Alt

alt="<?php print htmlspecialchars($image->_title)

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

alt="<?php print htmlspecialchars(<?php print htmlspecialchars
("МОЕ СЛОВО: " . $this->categoryname . " " .$this->product->short_description. " / " .$this->product->name. " (МОЕ СЛОВО: " .$this->product->manufacturer_info->name. " МОЕ СЛОВО")

Как верно заполнить Title и Alt картинки магазина

  1. Title не должен быть идентичным ни названию статьи и никаким тегам (берем название товара и добавляем слово: фото, например)
  2. Title должен быть коротким
  3. Alt должен быть длинным и так же не идентичным ничему

ALT НЕ ДОЛЖЕН СОДЕРЖАТЬ СЛОВ КУПИТЬ и т.д.!

Образец для Bucha

Посмотреть хорошее видео

Добавить комментарий