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

InstantCMS 1.X

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

#31 13 февраля 2020 в 23:17



@AlexProfit

попробуй заменить на
  1.  
  2. preg_match_all('//', $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('
  8.  

@chameleon9

Что заменять?)) я еще не таксилен в этом
#32 13 февраля 2020 в 23:19
@AlexProfit, тогда проще доступ дать тому, кто разбирается, чтоб проверил и поправил
#33 13 февраля 2020 в 23:19


@AlexProfit
Проблему описал выше, удали код из frontend.php
Завтра посижу с регулярными выражениями, я не силен в них, потому потребуется время. Завтра доделаем.
#34 14 февраля 2020 в 15:20
попробуй в \components\content\frontend.php
перед строкой 241

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

И таким макаром можно сделать лазилоад во всех компонентах.
#35 14 февраля 2020 в 15:53


попробуй в \components\content\frontend.php
перед строкой 241

@chameleon9

Сделал. Все работает:
код картинки меняется на lazy
картинки подгружаются!!!

Огромное спасибо!
Благодаря вам немного стал понимать хоть как оно работает)).

А что вы имели ввиду по поводу других элементов?
#36 14 февраля 2020 в 15:58


А что вы имели ввиду по поводу других элементов?

@AlexProfit
Можно использовать этот же код, только меняя переменную.
Полистал сейчас твои статьи, у тебя по одной — две картинки на странице, такой код эффективен когда в статье сотня фотографий хорошего качества.
Смотри сам, можешь оставить.
Может кому нибудь еще пригодится.
#37 14 февраля 2020 в 16:16



Полистал сейчас твои статьи, у тебя по одной — две картинки на странице, такой код эффективен когда в статье сотня фотографий хорошего качества.
Смотри сам, можешь оставить.
Может кому нибудь еще пригодится.

@AlexProfit

Да посмотрел, что на скорость загрузки не повлияло.
Работа проделана большая, поэтому инфу оставлю.
Буду знать как применить на сайтах с большим числом картинок.

Еще раз благодарю за уделенное время.

@chameleon9
#38 14 февраля 2020 в 16:30
Итоги!!!
Благодаря
@chameleon9

Как фотографии подгружать lazy load

И так, как сделать ленивую загрузку картинок. Актуально для сайтов, где много фоток хорошего качества.


1. Скачиваем файл jquery.lazyload.js и копируем его в /includes/jquery/
2. далее в /components/content/frontend.php перед строкой 241 вставляем код

  1.  
  2.  
  3. preg_match_all('/<img (.*?)>/', $article['content'], $images);
  4.  
  5. if(!is_null($images)){
  6. foreach($images[1] as $index => $value){
  7. preg_match('#src="(.+?)"#is',$value,$scr);
  8.  
  9. $new_img = str_replace('src=', 'class="lazy" data-original="'.$scr[1].'" src=', $images[0][$index]);
  10. $article['content'] = str_replace($images[0][$index], $new_img, $article['content']);
  11. }}
  12.  
  13.  
Если делать только для статей, лучше добавить только в конце файла \templates\твой шаблон\components\com_content_read.tpl код

  1.  
  2. {literal}
  3. <script src="/includes/jquery/jquery.lazyload.js"></script>
  4. <script type="text/javascript">$("img.lazy").lazyload({effect : "fadeIn"});</script>
  5. {/literal}
  6.  
Если делать для всего сайта
Подключаем скрипт в файл \templates\твой шаблон\template.php В самом конце, перед </body></html>

  1.  
  2. <script src="/includes/jquery/jquery.lazyload.js"></script>
  3. <script type="text/javascript">$("img.lazy").lazyload({effect : "fadeIn"});</script>
  4.  
#39 23 сентября 2020 в 01:18
А как все тоже самое сделать для версии Инстанта 2.13.1?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.