Повысить скорость загрузки сайта

InstantCMS 1.X

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

#16 13 февраля 2020 в 21:47
да, оставь

Вот тут писал
/forum/thread32549-1.html
Что то у него там не получилось, попробуй этот файл yadi.sk/d/wR4ky6VOJGkB-w

У тебя какая версия движка?
#17 13 февраля 2020 в 21:51


У тебя какая версия движка?

@chameleon9

InstantCMS v1.10.5
#18 13 февраля 2020 в 22:04


InstantCMS v1.10.5

@AlexProfit
Давай экспементировать

1. скачай файл (постом выше) и скопируй в папку
/includes/jquery/

2. \components\content\frontend.php
перед строкой 241 // Выполняем фильтры
  1. $article['content'] = str_replace('<img src=', '<img class="lazy" data-original=',$article['content']) ;
Код картинок в тексте статьи должен измениться так


3. \templates\твой шаблон\template.php
  1. <script src="/includes/jquery/jquery.lazyload.js"></script>
  2. <script type="text/javascript">$("img.lazy").lazyload({effect : "fadeIn"});</script>
Проверь, чтоб подгружался
#19 13 февраля 2020 в 22:30


@chameleon9
Все сделал, что-то с файлом jquery.lazyload.js (я его скачал как jquery.js и переименовал)
При попытки его открыть в Нотпаде (на сервере) пишит
Прикрепленный файл
_nfghu.png 22 Кб
#20 13 февраля 2020 в 22:32



@chameleon9
Все сделал, что-то с файлом jquery.lazyload.js (я его скачал как jquery.js и переименовал)
При попытки его открыть в Нотпаде (на сервере) пишит

@AlexProfit

Это пытался открыть стандартными средствами Винды, в нотпаде открывается
Открыть с помощью — блокнот
#21 13 февраля 2020 в 22:39


1. скачай файл (постом выше) и скопируй в папку
/includes/jquery/

@chameleon9

Скачал и переименовал в jquery.lazyload.js и поместил в соотвествующую папку


2. \components\content\frontend.php
перед строкой 241 // Выполняем фильтры

  1. $article['content'] = str_replace('
  2.  


Сделал именно в строку 241.

Результаты:
1. Код картинки изменился на класс lazy но
2. Картинки не подгружаются (квадраты)

В файле template.php куда вставлять код?
#22 13 февраля 2020 в 22:41


В файле template.php куда вставлять код?

@AlexProfit

В самом конце, перед </body></html>

Смотрю на указанном сайте, там нет изменений
#23 13 февраля 2020 в 22:45


@chameleon9

Код картинки меняется, но файл лэзилоадер в списке не появляется. Так понимаю не подгружается
#24 13 февраля 2020 в 22:47



@chameleon9

Код картинки меняется, но файл лэзилоадер в списке не появляется. Так понимаю не подгружается

@AlexProfit

Наоборот, файл вижу, а изменения кода картинок нет )))
В какой категории у тебя статьи?
#25 13 февраля 2020 в 22:50


@chameleon9

Статьи
www.vinterere.ru/stati/
#26 13 февраля 2020 в 22:56


@chameleon9

1. Код картиник поменялся.
2. Скрипт есть (увидел😊)

Но картинки не подгружаются
#27 13 февраля 2020 в 22:59

Скачал и переименовал в jquery.lazyload.js и поместил в соотвествующую папку

@AlexProfit
переименовывать ничего не нужно, сам файл jquery.lazyload.js копируете в /includes/jquery/ далее
в /components/content/frontend.php
примерно после строки 195
  1. $article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg') ? 'article'.$article['id'].'.jpg' : '');
добавить строчку
  1. $article['content'] = str_replace('<img src=', '<img class="lazy" data-original=',$article['content']) ;
Если делать только для статей, лучше добавить только в конце файла \templates\твой шаблон\components\com_content_read.tpl код

  1. {literal}
  2. <script src="/includes/jquery/jquery.lazyload.js"></script>
  3. <script type="text/javascript">$("img.lazy").lazyload({effect : "fadeIn"});</script>
  4. {/literal}
а из \templates\твой шаблон\template.php убери подключение скрипта
#28 13 февраля 2020 в 22:59


@AlexProfit

попробуй заменить на
  1.  
  2. preg_match_all('/<img (.*?)\/>/', $article['content'], $images);
  3. if(!is_null($images)){
  4. foreach($images[1] as $index => $value){
  5. $new_img = str_replace('src=', 'class="lazy" data-original=', $images[0][$index]);
  6. if(!preg_match('/alt=/', $value) || preg_match('/alt=""/', $value)){
  7. $new_img = str_replace('<img', '<img alt="'.$article['title'].'"', $new_img);
  8. $article['content'] = str_replace($images[0][$index], $new_img, $article['content']);
  9. }}}
  10.  
У меня и так и так работает (src="" сам добавляет, то ли чудо, то ли фокус))))
Если не получится этот код убери, завтра будем писать регулярное выражения.

abasia
Я смотрю его код, нет src="", потому и нет картинки, логично потому что мы его заменяем. Но блин, при этом коде он у меня есть)))

Я еще тогда обратил на это внимание, ну думал нормально, у всех так, картинка не может существовать без src="", потому и добавляется
#29 13 февраля 2020 в 23:14
@chameleon9, то, что я описал, у меня работает, специально проверил сейчас, он писал, что скачал файл jquery.js и переименовал в jquery.lazyload.js зачем то)))
#30 13 февраля 2020 в 23:15


переименовывать ничего не нужно, сам файл jquery.lazyload.js копируете в /includes/jquery/

abasia

Сделал.


далее
в /components/content/frontend.php
примерно после строки 204
$article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg')? 'article'.$article['id'].'.jpg': '');
добавить строчку
$article['content'] = str_replace('


Сделал.

Код картиник изменен.
Скрипт подгружается

Но вместо фото квадраты.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.