-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shortcode mp_gallery #1
Comments
attention je viens de changer la manière de charger le json des structures de la galerie, pas encore comité mais permet d'éviter la requête ajax ligne 205 dans mp_gallery_plugin.js, et notamment le chargement ajax synchrone qui fige la page (je pense qu'on aura un problème si il y a beaucoup de galeries) |
ça y est j'ai fait le commit de la mise à jour du système de chargement de la structure de la galerie. wp_register_script( 'gallerie_handle', plugins_url( '/tinymce_js/mp_gallery_plugin.js', __FILE__ ));
// Localize the script with new data
$gallerie_json = array(
'default' => MultiPublisher::get_gallery_json()
);
wp_localize_script( 'gallerie_handle', 'gallerie_data', $gallerie_json );
// Enqueued script with localized data.
wp_enqueue_script( 'gallerie_handle' ); ça permet de récupérer le code de la galerie dans la variable JS |
le système est en place, le php récupère les légendes mais cela interfère avec le get_spot sur la data "txt" (correspondant à 'a', 'b' ...) je l'ai donc commenter pour le moment afin de trouver une solution. |
Salut Arman, merci pour le retour, j'essaye de jeter un oeil, pour voir si je trouve une solution Loïc —
|
ok la gallery fonctionne pour les images, je suis en train de régler le souci sur la légende (qui est récupérée dans le shortcode txt). Faut-il aussi s'attarder sur la taille des images ? seront-elles redimensionnables dans l'éditeur ? |
C'est super, je regarde ça. Les images ne seront pas éditables dans le champ texte, par contre elles ont des dimensions en fonction de la boite dans laquelle elles se trouvent. Du coup il y a 4 variantes de dimensions (ce sont des dimensions maximales, donc pas de recadrage mais un redimentionnement au maximum de la dimension la plus grande) :
|
la galerie fonctionne avec l'ensemble des boutons ! |
cf MultiPublisher::get_gallery_json pour récupérer le json des galeries |
Bon pour le shortcode côté front-office, on devrait y arriver avec quelque chose du genre : $gallery = new Dom\Html();
$gallery
->body()
->html("<table><tr><td class=\"a\">a</td><td class=\"b\">b</td></tr><tr><td class=\"c\">c</td><td class=\"d\">d</td></tr></table>");
$gallery->find('.a')->html('<img id="a" />');
$gallery->find('.b')->html('<img id="b" />');
$gallery->find('.c')->html('<img id="c" />');
$gallery->find('.d')->html('<img id="d" />');
echo $gallery->find('body')->children(); |
Avec la librairie suivante : use volux\Dom;
require_once('vendor/autoload.php'); à installer avec composer : ~ composer require volux/dom |
Ok, merci ! mais je crois bien (si mes notes sont correctes) qu'on ne passe pas par l'uploader pour les tailles d'images mais par leurs places dans les tables galeries ? aurais-tu une idée pour me débloquer ? Pour la partie front office dans quel fichier travailles tu ? |
Galerie en place avec les tailles et url icone fixé. J'ai néanmoins un souci avec le css qui ne redimensionne pas la galerie à la fenêtre tinymce editor. Si tu as une idée :) Je souhaiterais passer à la partie front, dans quel fichier travailles tu ? |
J'ai installé la librairie volux/Dom $gallery = new Dom\Html(); J'obtient une erreur alors qu'avec la manière suivante cela marche : $doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML(); http://phpcodex.com/manual/domdocument.loadhtml.html Peux-tu tester de ton coté ? j'ai peut être encore un problème de config. |
voici l'erreur :
|
il existe une autre gallery de parser : |
oui je l'avais essayé, je n'avais pas réussi à faire ce que je voulais de manière aussi simple ;-) |
ok, parce que j'essaie d'utiliser : $xpath = new DOMXPath($doc); et je commence à me dire qu'il serait plus simple d'utiliser volux/dom |
hahaha, bon je vais essayer de voir ce qui cloche… |
yeepecaye ça fonctionne avec : https://github.com/tburry/pquery testé dans mp_class : $gallery = "<table><tr><td class=\"a\">a</td><td class=\"b\">b</td></tr><tr><td class=\"c\">c</td><td class=\"d\">d</td></tr></table>";
$dom = pQuery::parseStr($gallery);
$dom->query('.a')->html('<img id="a" />');
$dom->query('.b')->html('<img id="b" />');
$dom->query('.c')->html('<img id="c" />');
$dom->query('.d')->html('<img id="d" />');
return $dom->html(); |
job done. |
oui pour l'adaptation :-) 👍 |
J'ai un bug |
J'ai testé avec diffrentes images, à mon avis c'est que ton image n'existe pas dans cette taille là. J'ai le même souci avec des image plus petite qui ont été uploadée seulement en 1x1. je peut mettre une condition pour éviter ce genre d'erreur et simplement mettre l'image full_size à la place. Qu'en penses tu ? |
ah oui bien vu, j'avais oublié ce problème. Je vais voir si on peut forcer le calcul d'une image de dimension supérieure même si on n'a pas la résolution. Je teste avec des images de bonne taille et te tiens au courant. |
J'ai posé la question sur le forum wordpress https://wordpress.org/support/topic/force-large-images-sizes?replies=1 |
Je n'arrive pas à faire réapparaître le bug sur l'éditeur de galerie, je vais néanmoins m'occuper de l'édition du contenu d'une galerie existante |
il ne reste que :
|
finaliser le shortcode
mp_gallery_plugin.js
ids
et dutype
de galeriemp.class.php
(function mp_gallery_shortcode_function)The text was updated successfully, but these errors were encountered: