Astuces PHP lazy load sous joomla seblod warp

8785 vues
02 juin 2015
Raphaëlle
lazy-load-plugins

 

Voici un petit tutoriel en relation avec nos formations sur le templating Joomla!

Trier un array php par rapport aux tailles des chaines le composant (du plus grand au plus petit)

en gardant les keys associées

function tri_taille_chaine($chaine1, $chaine2)
{
    $taille1 = strlen($chaine1);
    $taille2 = strlen($chaine2);
    if ($taille1 == $taille2)
    {
        return strcmp($chaine1, $chaine2);
    }
    return ($taille1 < $taille2) ? -1 : 1;
}
uasort($listTitle, 'tri_taille_chaine');
$listTitle = array_reverse($myArray, true);

 

remplacer toutes les occurences d'une string SAUF la première rencontrée

$str = 'my string is a string very usesful';

$replace='string';

$to='strong';

    $pos = strpos($str,$replace);
    $strlen=strlen($replace);
    if ($pos !== false) {
        $str = substr($str,0,$pos+$strlen) . str_replace($key,$to,substr($str,$pos+$strlen));
       //'my string is a strong very usesful';
    }

 

Petit fix amusant 

sous IE9, mon script JS ne fonctionnait que si j'activais au moins une fois la console F12... WTF ???

En fait, après avoir recherché sur le net, on me dit que l'objet "console" n'est pas initialisé sous IE9 et qu'il bloque le script si on ne l'inialise pas en ouvrant le firebug IE. J'ai donc retiré tout mes console du code, même résultat... j'ai donc trouvé ce fix, et maintenant, mon code fonctionne à merveille :)

 

 

plutôt cocasse ;)

pour adapter vos images de site à la taille du navigateur, et les mettre en cache

ce qui est un gain de temps considérable au chargement de la page, je vous conseille de vous mettre à l'adaptive image... 5 minutes d'installation, rien de compliqué sous joomla !

mettre le fichier adaptive-image.php à la racine du site (que vous pouvez récupérer ici : https://adaptive-images.com/

modifier le .htacces en rajoutant une seule ligne :

RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

créer un dossier ai-cache à la racine toujours, et le tour est joué !!!

Dernière astuce,

l'installation de lazyload pour ne charger les images de la page qu'au scroll de celle-ci

gain de temps certain au chargement de la page (c'est qu'on a le souci de l'optimisation à Pulsar :) )

pas compliqué sous joomla : si vous utilisez SEBLOD et le générateur de template warp, c'est extrêmement simple (et si vous ne les utilisez pas, le principe est le même)

bon déjà, téléchargez le fichier jquery.lazyload.min.js qu'on peut entre autre trouver ici https://github.com/tuupola/jquery_lazyload et mettre ce fichier dans votre répertoire js de votre template templates\myTemplate\styles\picardie-muses\jsajouter l'appel des fichiers au theme.config.php

$this['asset']->addFile('js', 'js:jquery.lazyload.min.js');
    $this['template']->set('head', '

');

 

petite chose amusante, sous IE, j'ai des problèmes, il ne reconnais pas mon addFile... je ne m'en suis rendu compte que bien plus tard. So, no panic, on rajoute ces quelques lignes
// internet explorer
if ($this['useragent']->browser() == 'msie') {
    $head[] = sprintf('

', $this['path']->url('js:jquery.lazyload.min.js'));
    $head[] = sprintf('

', '');
}

 

 

ensuite,  remplacer cette ligne dans le plugin de typo image.php qui se trouve dans plugins/cck_field_typo/image/image.php

replace 

DONC on lui dit que si dans seblod, on a mis la class "superlazy" au champ avec le plugin de typo image,  on ajoute une classe et un data-original... et le script fait le reste ! Le lazyload ce fera sur ces champs la uniquement ! et ça c'est quand même super pratique :)

 

Et 'oilou les gens :) j'espère que ces quelques astuces vous serviront tôt ou tard :)

 

ha oui, et ça, c'est mon compte google + y' a encore plein d'autres des astuces du même acabit :)

https://plus.google.com/u/0/111173509958661808617
  

Plugin de cache Joomla : les images ne s'affichent pas
Ajouter le bouton DOCLINK avec Jevents et SobiPro
Comprendre les droits et niveaux d'accès de Joomla!
Plugin merge css/js pour Joomla
Ajout d’un suffixe aux tables des modèles
Optimisation et vitesse de votre site Joomla!
Paramètres hikashop des items de menu
Entrées grisées avec la mention [extrait] dans DOCMAN
Code et calendrier de l'avent, un crossover sympa
Développement multi sites avec Joomla et Seblod
Mon nouveau jeu de stratégie en ligne: Xsword
Les solutions multi sites avec Joomla!
Les avantages de Joomla! face à Drupal
Pulsar présente le job board du nouveau site web Dynamique Emploi
Pulsar forme au CCK SEBLOD pour Joomla!
Quelles extensions choisir pour son site joomla ?
Joomla 4 : professionnalisation et performance
Mise en place d'une API REST en PHP
Ajouter Cufon à votre site Joomla!:
Workflows généralisés avec Joomla! et Seblod (partie 4)
Nouveau site de Pulsar avec Seblod!
JoomlaDay 2015: Pulsar y était!
Extensions Joomla: accessibilité, menu vertical et réseaux sociaux
Eclipse: Failed to create Java Virtual Machine
Pourquoi nous avons ajouté WordPress à notre offre
JCEmediabox et css js compress
SOBI Pro: le menu principal ne s'affiche pas
Pulsar présente le CMS Joomla! au club STARINUX
CMS Day: Joomla pour les projets du secteur public
GED Open Source simple pour les PME
Mettre son placeholder en couleur noire #000
I love jQuery.ValidationEngine
Personnalisation du backoffice de Joomla!
Pulsar gagne l'appel d'offre de la Sorbonne
Fenêtre coulissante avec Joomla et Seblod
Réseau social d'entreprise: Yammer ou SharePoint?
Transformer un article en contenu SEBLOD
Workflow Joomla! évolué avec Seblod 2/4
Advanced module manager et page d'accueil
Calcul dates à partir du numéro de semaine en PHP
Pulsar, sponsor OR du JoomlaDay 2017
Journée du conseil scientifique de l'AFNIC
SQL ignore error SQLSTATE avec sql-mode
Conversion d'un fichier CSV utf8
Pulsar sponsor du Joomladay
Workflows évolués pour Joomla! avec Seblod 1/4
Un nouveau routeur pour Joomla!
Super BreadCrumb for Joomla 1.5 1.6 & 1.7
Elections 2016 ... le CMS Joomla! encore
Utiliser NOW() de SQL avec ZF
l'AFUJ exposant au salon Open Source Summit 2015
Modifier la config Apache pour un site sur PLESK
Le forum PHP 2012....c'est du passé ! RDV l'année prochaine
Multisites, multilangues et multidevices pour la SORBONNE
Joomla et les CCK
PHP multi-versions sur le même Apache
Astuce: suppression des éléments Seblod
Créer un QR Code en PHP
Pulsar sponsor OR du JoomlaBusiness 2015
Sites multi langues mobiles avec Joomla et Seblod
Le forum PHP c'est dans 2 semaines !
Pulsar présente le projet pour la Sorbonne au JoomlaDay!
Création de l'antenne parisienne de l'AFUP
Pulsar au JoomlaDay Israel 2016
forum php 2014 : le retour de Drupal annoncé... vraiment ???
Maximum execution time ...
Workflow et formulaires faciles avec Joomla! et Seblod 3/4
Correctif de Pulsar dans le routeur de Joomla
Soirée CMS open-source en PHP
3 nouvelles extensions Joomla! de Pulsar dans la JED
Pulsar sort son jeu gratuit en ligne
Projets multi langues et multi sites avec Seblod
Job board intégré à votre site Joomla!
Une agence web Joomla! au Drupagora
Import shipping pour hikashop
The requested URL was not found on this server.
Choisir son outil de gestion de projet web
Joomla! meilleur CMS PHP Open Source
Debugger en PHP
Les solutions e-commerce avec Joomla!
E-commerce avec Seblod
Indiegogo: contrôle de version avancé avec SEBLOD
Ajouter une icône d'édition dans une liste SEBLOD
Chargement Joomla avec Mootools de Google
Pulsar, le JoomlaDay et Israël
Pulsar developpe la passerelle Joomla LUCENE SOLR
sh404SEF: URLs n'apparaissent pas
Connexion à Office 365 en PowerShell
bug fireEvent dans core.js sous IE9
JoomlaDay 2015: Joomla! pour les applis pro
Developpements pour la Bibliotheque Mazarine
Autocomplétion avec Eclipse PDT
Joomla! à nouveau élu meilleur CMS 2017
Edition front end avec Hikashop et Virtuemart
Pulsar certifie ses formateurs Joomma!
Joomla! présent au salon AGORA CMS 2016
Pulsar au JoomlaDay 2014: Chaine de production
Joomla! fête ses 10 ans!
Sommaire automatique pour Joomla
ZF : Cannot refresh row as parent is missing
SEBLOD et J2store au JoomlaDay Israël 2017
Soirée design pattern et anti pattern en PHP
CssJsCompress: page blanche, problème d'encodage
Pulsar primé pour le site de la Sorbonne
Hover sur Slideshow avec jmpress.js
Gestion Electronique de Documents sur mesure
Pulsar présente JOOMLA à AGORA CMS
PHP Tour de Lille
Monétisez votre workflow avec Joomla!
encoder en latin1
Les nouveautés de Joomla! 4
Pulsar et Joomla pour les sites évolués au JoomlaDay 2014
design-pattern et anti-pattern en PHP
Pulsar présente son expertise SEBLOD au JoomlaDay 2013
Joomla meilleur cms open source 2011
Chasse aux bugs des templates Warp
Override joomla du template 'category' lié à un menu
OWF: Open World Forum
Pulsar présente le JoomlaBusiness à l'AFUP
Comprendre le stockage des données avec SEBLOD
com_search joomla 2.5 recherche sans accents
RDV AFUP sur les bases de données relationnelles
Du code et des hommes. Stratégies de suivi de projet
Comparaison des CCKs pour Joomla!
Critère de correspondance pour la recherche SEBLOD
Virtuemart: flèches quantité ne fonctionnent pas
Référencement naturel, cocons sémantiques et Joomla!
SEBLOD: supprimer un script à moindre coût
L'agence Pulsar sponsorise le JoomlaDay 2015