Как известно в первой ветке в модуле "новые посты из блогов" в качестве изображений выводится либо аватар автора поста либо первая картинка из поста, если она в посте есть. Проблема в том, что картинка выводится "как есть" сжимаясь только визуально средствами html|css. Если в посте картинка 1000 px на 600 px весом 200 kb в модуле на главной странице выводится она же. Если в модуле десяток постов с такими картинками, то это уже 2 мб на главную страницу. Google ругается и требует оптимизировать изображения.
0. Перед началом сделать копию изменяемых файлов.
1. В файле cms/core/classess/blog.class.php
после
вставить это
Комментарии к четвёртой строке:
100 и 100 — ширина и высота маленького изображения, можете изменить.
true — изображение будет обрезаться в квадрат (если не нужно, заменить на false)
false — на мини изображение не будет накладываться ватермарк.
2. В шаблоне модуля mod.blogs.tpl
заменить {$post.fileurl} на {$post.fileurl_small}
3. plugins/p_related_posts/plugin.php
после
вставить
и в этом же файле
заменить на
в шаблоне плагина {$post.fileurl} заменить на {$post.fileurl_small}
в папке uploads/blogs/ создать папку /mini
положить в эту папку для плагина файл загрушки no_image.png или другой который указан у вас в настройках плагина.
Вроде ничего не упустил, у меня всё работает, побочных эффектов не заметил. Но никому ничего не гарантирую, используете на свой страх и риск)
0. Перед началом сделать копию изменяемых файлов.
1. В файле cms/core/classess/blog.class.php
после
while($post = $this->inDB->fetch_assoc($result)){ $post['fpubdate'] = cmsCore::dateFormat($post['pubdate']); $post['url'] = $ownerModel->getPostURL($post['bloglink'], $post['seolink']); $post['blog_url'] = $ownerModel->getBlogURL($post['bloglink']);
//превью изображения из поста для модуля и плагина cmsCore::includeGraphics(); @img_resize(PATH.$post['fileurl'], $mini_image, 100, 100, true, false); } $post['fileurl_small'] = '/'.$mini_image;
100 и 100 — ширина и высота маленького изображения, можете изменить.
true — изображение будет обрезаться в квадрат (если не нужно, заменить на false)
false — на мини изображение не будет накладываться ватермарк.
2. В шаблоне модуля mod.blogs.tpl
заменить {$post.fileurl} на {$post.fileurl_small}
3. plugins/p_related_posts/plugin.php
после
foreach($found_posts as $key=>$post){ if(!$found_posts[$key]['fileurl']){ $found_posts[$key]['fileurl'] = '/images/photos/small/'.$blank_photo; }
вставить
//превью изображения из поста для модуля и плагина cmsCore::includeGraphics(); @img_resize(PATH.$post['fileurl'], $mini_image, 100, 100, true, false); } $found_posts[$key]['fileurl_small'] = '/'.$mini_image;
$found_posts[$key]['fileurl'] = '/images/photos/small/'.$blank_photo;
$found_posts[$key]['fileurl'] = '/upload/blogs/'.$blank_photo;
в шаблоне плагина {$post.fileurl} заменить на {$post.fileurl_small}
в папке uploads/blogs/ создать папку /mini
положить в эту папку для плагина файл загрушки no_image.png или другой который указан у вас в настройках плагина.
Вроде ничего не упустил, у меня всё работает, побочных эффектов не заметил. Но никому ничего не гарантирую, используете на свой страх и риск)