Форум русской поддержки Joomla!® CMS
03.12.2016, 04:27:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Разметка для товара (Recipe)

 (Прочитано 408 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« : 26.07.2016, 18:45:35 »

Решил попробовать разметку для товаров в стиле рецепта  Smiley, не думал что прохавает Google. В сниппетах для продуктов не показывает фото, но показывает в разметке для рецептов. Рецепты не поддерживают цен, но в моем случае их не надо так как это каталог. Не знаю как отнесётся поисковик в будущем к таким манипуляциям, но то что есть сейчас мне нравится.  Скрин того что получилось


* Screenshot_1.jpg (151.01 Кб, 988x790 - просмотрено 48 раз.)

* Screenshot_2.jpg (116.74 Кб, 762x634 - просмотрено 48 раз.)
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #1 : 26.07.2016, 23:08:47 »

неплохо. знать бы наверняка что не забанят в будущем... Azn
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #2 : 27.07.2016, 13:08:02 »

Вопрос. Как в файле карточки товара выделить  itemprop="image" только главное фото. Если у товара несколько фото. то они все размечаются itemprop а нужно только первое. Думаю надо условие и в нем уже прописать
Код:
<meta itemprop="image" content="<?php print $this->image_product_path?>/<?php print $image->image_full?>" />
сейчас получается что поисковик выбирает фото которое нравится ему.
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8803


http://n*****n.com


« Ответ #3 : 27.07.2016, 15:33:45 »

ну можно подсунуть же первое изображение. принудительно (даже не показывая его.)
считать, назначить первое из массива и определить его как итемпроп-имдж
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #4 : 27.07.2016, 20:26:40 »

Цитировать
считать, назначить первое из массива и определить его как итемпроп-имдж
спасибо, направление понял, но массив не напишу как бы этого не хотел  Sad. Найду время подумаю позже...
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #5 : 27.07.2016, 22:16:39 »

там даже писать ничего не надо, в цикле и так сделана проверка - остальным изображениям, которые не главные, задается display:none
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #6 : 28.07.2016, 17:20:04 »

Так они display:none , но всё равно все цепляют итемпроп

Код:
<?php foreach($this->images as $k=>$image){?>
                <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 itemprop="image" 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)?>" />
                    <div class="text_zoom">
                        <i class="icon-search"></i> <?php print _JSHOP_ZOOM_IMAGE?>
                   
</div>
                </a>
                <?php }?>
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #7 : 28.07.2016, 17:30:59 »

ну так для них не прописывать итемпроп Azn условие то есть уже. осталось добавить else, и только в else прописать итемпроп
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #8 : 28.07.2016, 19:05:53 »

Код:
<?php foreach($this->images as $k=>$image){?>
<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 } else {?>>
<meta itemprop="image" content="<?php print $this->image_product_path?>/<?php print $image->image_full?>"
<?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)?>" />
<div class="text_zoom">
<i class="icon-search"></i> <?php print _JSHOP_ZOOM_IMAGE?>
</div>
</a>
<?php }?>

Правильно ?
« Последнее редактирование: 28.07.2016, 19:44:40 от Biss » Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #9 : 28.07.2016, 20:15:56 »

нет. во-первых у вас в
Код:
<?php } else {?>>
последняя скобка лишняя. а во-вторых вы пытаетесь вставить полностью тег <meta> внутрь атрибутов тега <a>. оно ж так не работает. не добавляйте тег мета, вставляйте только
Цитировать
itemprop="image" content="<?php print $this->image_product_path?>/<?php print $image->image_full?>"
для <a>.

либо если хочется именно meta, то возьмите условие целиком как оно было, измените в нем != на ==, вставьте его внутрь тега <a>, и вместо
Код:
style="display:none"
уже впишите туда полностью <meta... />
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #10 : 28.07.2016, 20:34:33 »

Да по ходу неправильно, но работает.  Smiley
Сначала было без скобки и в просмотре кода кусок с картинкой выделялся красным, после я решил её поставить и всьо стало валидно.
Наверно попробую второй предложенный вариант, так как у меня чуйка  Grin, что именно при наличии meta картинка подхватывается.
В принципе фото подхватывается потому что оно уже есть в индексе (это так, тоже предположение)
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #11 : 28.07.2016, 22:05:38 »

ну в самом поисковике отследить правильно или нет трудно, это ж надо ждать пока индекс обновится. но наверняка ж есть от поисковиков какой нибудь сервис для проверки структурированных данных?
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #12 : 29.07.2016, 13:39:08 »

Код:
<?php foreach($this->images as $k=>$image){?>
<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)?>" />
<div class="text_zoom">
<i class="icon-search"></i> <?php print _JSHOP_ZOOM_IMAGE?>
</div>
<?php if ($k==0){?>
<meta itemprop="image" content="<?php print $this->image_product_path?>/<?php print $image->image_full?>" />
<?php }?>
</a>
<?php }?>

вроде бы так если правильно понял

-------------------
уже успел проверить, - работает правильно


* Screenshot_1.jpg (23.38 Кб, 755x140 - просмотрено 21 раз.)

* Screenshot_2.jpg (121.36 Кб, 1238x384 - просмотрено 23 раз.)
« Последнее редактирование: 29.07.2016, 14:09:52 от Biss » Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #13 : 29.07.2016, 14:13:55 »

да, по крайней мере условие правильно
Записан
buto
Завсегдатай
*****

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 470



« Ответ #14 : 29.07.2016, 20:55:28 »

Круто смотрится, реально. Но это стопроцентный бан, если кто-то пожалуется Google (обратился к эксперту в СЕО). Хотя сколько я уже сайтов видео с грехами, и 2-3 года ничего им не сделалось( до сих пор)
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #15 : 29.07.2016, 23:01:55 »

Я даже знаю кто первым пожалуется - конкурент.
Думаю сразу не будет бана, может хотя бы предупреждение сначала. В таком случае спорить не буду однозначно.
А может гуглам понравится и вдруг решат внедрить это в product  Smiley
« Последнее редактирование: 30.07.2016, 14:07:26 от Biss » Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #16 : 23.10.2016, 13:03:45 »

Цитировать
Не знаю как отнесётся поисковик в будущем
Не долго музыка играла... Smiley
Или я что-то с шаблоном намутил (маловероятно), или Google поумнел (скорее всего)
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #17 : 23.10.2016, 13:06:35 »

просто пропала разметка в выдаче? или что похуже?
Записан
Biss
Завсегдатай
*****

Репутация: +64/-0
Offline Offline

Пол: Мужской
Сообщений: 659



« Ответ #18 : 23.10.2016, 13:10:24 »

просто пропала разметка в выдаче? или что похуже?
Просто пропала, в инструментах никаких предупреждений не было
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« Ответ #19 : 23.10.2016, 16:32:15 »

ясно. ну хоть так Azn а то мало ли, что им в голову прийти могло Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet