Appel aux classes Joomla! 4

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • RobertG
    a répondu
    Pour le moment, j'ai laissé tomber l'import et j'essaie de comprendre pourquoi il y a ce problème avec le script en tête de form.php de jt_application (views), car ça ne passe par là qu'en cas d'annulation, jamais en cas de validation.
    J'ai trouvé cette page https://docs.joomla.org/Client-side_form_validation mais je n'ai pas réussi à régler le problème du script.

    Pour ce qui est de la création/modification des sources GedCom, ça plante à la dernière ligne de ce code (models/jt_application.php) :
    public function save($form) {
    $canDo = JoaktreeHelper::getActions();
    $msg = JText::_('JTAPPS_MESSAGE_NOSAVE');

    if ($canDo->get('core.create') || $canDo->get('core.edit')) {
    JFactory::getApplication()->enqueueMessage( "Sauvegarde models/jt_application");
    $ret = parent::save($form);
    Pour le moment, je n'ai pas trouvé le code de "parent::save", même en multipliant les "enqueueMessage"...
    Dernière édition par RobertG à 27/11/2017, 08h31 Raison: complément d'infos

    Laisser un commentaire:


  • starter866
    a répondu
    Impossible d'importer le gedcom, donc le blocage doit venir de

    \administrator\components\com_joaktree\helpers\jt_ gedcomfile2.php

    Laisser un commentaire:


  • RobertG
    a répondu
    En remplaça "window.addEvent" par "window.addEventListener", plus d'erreur dans la console, mais l'import ne se fait toujours pas, et sans erreur affichée.

    Laisser un commentaire:


  • RobertG
    a répondu
    Pour l'import GedCom, c'est ce que j'ai eu aussi, et dont j'ai parlé dans le message #66.
    Pour AssignRef, même message.

    La récupération d'erreur est aussi à corriger. Sauf erreur :
    if ($error = $this->_db->getErrorMsg()) {
    par
    if ($error = $this->$table->getError()); {
    On n'est pas au bout...

    Laisser un commentaire:


  • starter866
    a répondu
    Erreur dans la console

    Code:
    TypeError: window.addEvent is not a function
    le code concerné

    Code:
     
     <script> 	window.addEvent('domready', function() { 		importGedcom(); 	}); </script>

    Laisser un commentaire:


  • starter866
    a répondu
    Cliquez sur l'image pour l'afficher en taille normale

Nom : 1.PNG 
Affichages : 64 
Taille : 113,1 Ko 
ID : 1970546

    Le processus se lance, mais tourne en boucle.

    Laisser un commentaire:


  • starter866
    a répondu
    Code:
    $this->assignRef( 'items',  $items );
    par

    Code:
    //$this->assignRef( 'items',  $items );
     $this->items = &$items ;

    Laisser un commentaire:


  • RobertG
    a répondu
    J'ai créé aussi une application dans la base et tenté d'importer le GedCom : ça tourne non stop sans rien enregistrer.
    De plus, il reste dans le code pas mal de "AssignRef" à remplacer
    //$this->assignRef( 'items', $items );
    $this->items=$items;
    Impossible aussi de modifier les caractéristiques de l'application créée, alors qu'on peut le faire pour les thèmes.
    Bien que j'aie passé des heures et des heures dessus l'an dernier, j'ai encore énormément de mal à m'y retrouver !
    Dernière édition par RobertG à 25/11/2017, 19h23

    Laisser un commentaire:


  • starter866
    a répondu
    Effectivement, l'enregistrement ne se fait pas.

    Par contre la création directe dans la base de donnée est bien récupérée

    Cliquez sur l'image pour l'afficher en taille normale  Nom : 1.PNG  Affichages : 1  Taille : 25,3 Ko  ID : 1970542

    Faut trouver pourquoi les données ne sont pas transmise à la Bdd

    Laisser un commentaire:


  • RobertG
    a répondu
    Merci de cette piste !
    Pour la création de sources, les boutons deviennent en effet actifs lorsque je neutralise ce script dans le fichier form.php de jt_application, mais avec le code que j'avais modifié comme avec celui d'origine, l'enregistrement de la source créée ne se fait pas et j'ai un message d'erreur signalant qu'aucune donnée n'a été enregistrée :
    Erreur: Aucune donnée n'a été sauvegardée
    Pourtant, l'enregistrement d'une modification dans un thème fonctionne tout comme la création d'un nouveau.

    On avance quand même !

    Laisser un commentaire:


  • starter866
    a répondu
    J'ai remis le code en place en modifiant

    Code:
    if (task == 'theme.cancel' || document.formvalidator.isValid(document.id('theme-form')))
    par

    Code:
    if (task == 'theme.cancel' || document.formvalidator.isValid(document.getElementById('theme-form')))
    et cela fonctionne.
    Dernière édition par starter866 à 25/11/2017, 16h12

    Laisser un commentaire:


  • starter866
    a répondu
    du coup, sans ce code j'ai réussi a créer un nouveau thème.

    Et en le supprimant de \administrator\components\com_joaktree\views\jt_th eme\tmpl\editcss.php

    J' ai pu modifier le css et enregistrer la modification

    Laisser un commentaire:


  • starter866
    a répondu
    Effectivement, il semble y avoir un problème dans ce bout de code

    Code:
    <script type="text/javascript">
        Joomla.submitbutton = function(task)
        {
            if (task == 'theme.cancel' || document.formvalidator.isValid(document.id('theme-form'))) {
                Joomla.submitform(task, document.getElementById('theme-form'));
            } else {
                alert('<?php echo $this->escape(JText::_('JGLOBAL_VALIDATION_FORM_FAILED'));?>');
            }
        }
    </script>
    Si je le supprime du fichier \administrator\components\com_joaktree\views\jt_th eme\tmpl\form.php par exemple, les boutons deviennent opérant.

    Laisser un commentaire:


  • starter866
    a répondu
    Quand je clique sur enregistrer, dans la console d'erreur de firefox, j'ai

    Code:
    TypeError: document.id is not a function[En savoir plus]index.php:322:64
    et si je clique sur

    Code:
    index.php:322:64
    J'ai

    Code:
    <script type="text/javascript">
        Joomla.submitbutton = function(task)
        {
            if (task == 'theme.cancel' || document.formvalidator.isValid(document.id('theme-form'))) {
                Joomla.submitform(task, document.getElementById('theme-form'));
            } else {
                alert('Formulaire invalide');
            }
        }
    </script>

    Laisser un commentaire:


  • starter866
    a répondu
    J'ai aussi essayé cela en récupérant les lignes de codes dans les composants banners ou contact.
    Mais rien obtenu.

    C'est les seul boutons qui ne fonctionnent pas dans les vues joaktree 'nouveau gedcom' ou 'nouveau arbre' ou 'nouveau theme'.

    Laisser un commentaire:

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X