Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Добавить класс к изображениям в новостях

Добавить класс к изображениям в новостях


     17.09.2012    сниппет, itemprop    Все вопросы » Общие вопросы по вёрстке    5623

вопрос
День добрый. Подскажите, как можно добавить нужный тег к изображению?
Задача состоит в следующем - я делаю кулинарный сайт, и хочу сделать расширенный сниппет. Для этого необходимо, чтобы в теге картинки присутствовал
itemprop="image"
. В DLE 9.6 это решалось в файле engine/classes/parse.class.php

                    if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} itemprop=\"image\" /></a>{$caption}<!--dle_image_end-->";
                    else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" style=\"float:{$align};\" {$alt}  itemprop=\"image\" /></a>{$caption}<!--dle_image_end-->";

                
                }
            }        
        }
        

        if( $align == '' ) return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" {$alt} itemprop=\"image\" /><!--dle_image_end-->";
        else return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" style=\"float:{$align};\" {$alt} itemprop=\"image\" /><!--dle_image_end-->";


вот тут, однако сейчас сделал все так же, а нужный тег не добавился к картинке в новости. Подскажите, Как можно сделать данный хак для 9.7? Или может можно добавить это свойство для картинок через javascript.

Ответа пока нет


8 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 18 сентября 2012 07:07 -

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

Каков вопрос - таков и ответ. Просто помните об этом.

OKyJIucT
Юзер

OKyJIucT - 18 сентября 2012 08:53 -

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

MegaBoBeR
Юзер

MegaBoBeR - 18 сентября 2012 14:19 -

Пару дней назад пробовал добавить тоже самое. Не получилось :(

Nick
Юзер

Nick - 18 сентября 2012 18:07 -

Идем в /engine/classes/parse.class.php

Ищем
if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--dle_image_end-->";


Заменяем на (то бишь просто добавляем itemprop=\"image\"):
if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img itemprop=\"image\" src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img itemprop=\"image\" src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--dle_image_end-->";


---

Ищем
if( $align == '' ) return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" {$alt} /><!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><img src=\"{$url}\" style=\"float:{$align};\" {$alt} /><!--dle_image_end-->";


Заменяем на (то бишь просто добавляем itemprop=\"image\"):
if( $align == '' ) return "<!--dle_image_begin:{$info}--><img itemprop=\"image\" src=\"{$url}\" {$alt} /><!--dle_image_end-->";
else return "<!--dle_image_begin:{$info}--><img itemprop=\"image\" src=\"{$url}\" style=\"float:{$align};\" {$alt} /><!--dle_image_end-->";



---

Ищем
if( $align == '' ) return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
else return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--TEnd-->";


Заменяем на (то бишь просто добавляем itemprop=\"image\"):
if( $align == '' ) return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img itemprop=\"image\" src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
else return "<!--TBegin:{$info}--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img itemprop=\"image\" src=\"$url\" style=\"float:{$align};\" {$alt} /></a>{$caption}<!--TEnd-->";

Nick
Юзер

Nick - 18 сентября 2012 18:10 -

Nick,
Первое изменение — строки 1178, 1179.
Второе изменение — строки 1187, 1188.
Третье изменение — строки 1287, 1288.
(в чистом parse.class.php)

Nick
Юзер

Nick - 18 сентября 2012 18:18 -

Цитата: OKyJIucT
если использовать bbcodes редактор, то все на месте

Извиняюсь, не дочитал до конца.

Nick
Юзер

Nick - 18 сентября 2012 18:25 -

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

Поэкспериментировал с остальными, все работает. Парсеру все равно в каком редакторе Вы картинку вставите.
Может быть не был прописан тег для уменьшенных копий изображений?
Ещё может быть, что Вы вставляете картинку напрямую:
<img style="margin: 0px;" src="http://farm3.static.flickr.com/2405/5713123966_199ef12861_m.jpg" alt="" border="0" />

то в этом случае придется руками прописывать.

OKyJIucT
Юзер

OKyJIucT - 18 сентября 2012 19:43 -

Nick,
в этих строках я изначально и добавлял itemprop=\"image\". Насчет тега уменьшения изображений - у меня картинки 300*200 а уменьшение включается с 450 пикселей, поэтому вставляется оригинал. Картинки, естественно, заливаю на свой хостинг. Не знаю, почему не работает, пользуюсь BBCODES редактором :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх