Archives

Fonction publiques (hooks) de la classe ixePaf  :
  • $plxShow->callHook('ixePaf::ixePaForm', $form afficher un formulaire si le droit de lecture est accordé au demandeur
    • return
      • $temp['urlMainStatique'] = url par défaut du portail des pages du plugin. Option dont le principal intérêt est de faciliter la maintenance du site, en gardant ensemble tous les formulaires spécifiques à 1 site ou 1 activité, le dossier par défaut étant celui du plugin (paramétrable). Permet également de bénéficier des fonctions et plugins liés aux pages statiques.
      • $temp['titre']= titre complet du formulaire. Egalement celui de son lien si vous utilisez le menu automatique version 3
      • $temp['urlPdf'] = les pdf doivent s'afficher sans <head>   
      • $temp['root'] = url du formulaire (mère si include), nettoyé des GET sauf $form, redirection des reset par exemple
      • $temp['profil'] = true/false, informe des droits d'écriture ($readonly des inputs)
  • $query = $plxShow->callHook('ixePaf::getData',$x);   demander le contenu d'une table 
    1. $x['maintable'] ou $x['table' ]= (string) 'nom de la table'  seul parametre obligatoire 
    2. $x['default'] = (string) 'syntaxe Xpath'   affichage SI aucun filtre. Exemples parmi les nombreuses possibilités :
      • $x['default']='[column/parameter[contains(text(),"'.date('Y').'-")]]'; affiche tous les enregistrements de l'année en cours 
      • $x['default']='[position()<=50]';  très rapide pour afficher les 50 premiers enregistrements, mais ignorera $x[order]
      • $x['inputsearch']=date('Y')."-"; toutes les alternatives existent pour définir un affichage par défaut, celle-ci est 0.4s moins rapide que $x['defaut'] sur 6000 lignes
    3. $obj = XfileManager::openXfile($this->urlDatas.$x['table']);  ouvre la table et renvoie son contenu dans un objet
    4. $x['champs'] = (string) 'champ1, champ2, etc.'  réserver la suite du traitement et ne retourner en résultat QUE ces champs
    5. $x['filtres'] = (string)   rechercher UNE valeur dans SON champ 
      • filtrage avec syntaxe URL friendly :   champ1 = value1 & champ2 = value2 & champ3 = isNotNull & etc.
      • filtrage depuis le script avec options supplémentaires :  >=, <=, !=, contains
      • Note : il est possible de demander valeur1 = isNull si cette condition existe dans le contenu de votre table ou par le traitement de la variable POST de vos formulaires.  Afin d'optimiser le volume du fichier XML, ainsi que le temps global de traitement, ixePaf n'écrit naturellement pas les champs vides 
      • filtrage automatique depuis fonction  :  $x['filtres'] =  'auto'; version 3
        • appel à la fonction Xrequest($maintable)
        • collecte des éléments $_REQUEST correspondants aux champs
        • rempli et exécute $x['filtres'] et $x['inputsearch'] automatiquement, sans aucune autre intervention de votre part.
    6. $x['inputsearch'] = (string) 'mot ou phrase'  rechercher TOUTES ces valeurs dans TOUS les champs de la table 
    7. $x['id'] = (numeric)
    8. $a_xml = XarrayManager::obj2array($obj);  change l'objet en tableau 
    9. $x['order'] = " champ1|D and champ2|A "  ordonne le tableau 
    10. $x['pagination'] = numérique, 'none' ou pagination définie par défaut  garde la partie souhaitée du tableau
    11. retourne le tableau de résultat
      1. toutes les ['valeurs numériques'] sont les IDs des enregistrements
      2. ['Xpage'] contient les paramètres de navigation version 3
        1. pagination contient l'affichage HTML des boutons de pagination
        2. nbresult donne le nombre de résultats conformes à la requête
        3. sizeof contient le nombre d'enregistrements parcourus pour obtenir ce résultat
        4. self, associé à l'id d'une ligne de résultat par exemple, vous permettra d'accéder à un enregistrement sans perdre l'affichage de votre navigation paginée et/ou filtrée
        5. La solution d'agréger ces variables au tableau de résultat permet d'éviter :
          • le recours aux variables de session (utilisation mémoire + gestion) sans perdre le confort de la persistance des filtres croisées
          • la création d'un hook supplémentaire avec sa ligne de code d'appel dédiée
          • une différence de synchronicité lorsque les formulaires sont inclus
          • une fois ces variqbles récupérées, il convient d'extraire cette portion du tableau des résultats, si vous souhaitez boucler dessus, avec la syntaxe unset();
  •  setData($x)  # modifier son contenu
    • $xml = XfileManager::openXfile($this->urlDatas.$x['maintable']); ouvre le fichier
    • $xml = XarrayManager::obj2array($xml); transforme en array
    • $index = XarrayManager::lastIndex($xml); cherche dernier index si création
    • traitement des variables $_POST
    •  
  • delData($x) -> return array();
éditer Code ixePaf aucun commentaire
Petit topo sur cet animal en perpétuelle croissance, nourri aux heures de boulot et auquel je dois d'avoir réalisé la première classe PHP de ma vie. Lire la suite éditer Code ixePaf aucun commentaire
C'est comme en cuisine, c'est affiché au menu pour qu'on s'y retrouve mais personne ne goûte tant que c'est pas prêt !
Mémo : Noter que l'URL des images des catégories doivent être amputées du root pour être cliquables. éditer Code aucun aucun commentaire
Petit topo sur cette fonction magique tant elle est pratique.
Initialement dévellopée pour WordPress, habilement adaptée pour Pluxml par Jérome EVRARD,  je l'ai juste augmentée de quelques fonctions selon mes besoins propres et ceux du plugin ixePaf Lire la suite éditer Code ixePaf aucun commentaire
stocké ici avant triage Lire la suite éditer Technique irrigation viticulture aucun commentaire
© Domaine de Belleroche 2004 - 2024