Skip to main content Help Control Panel

Alexis Raimbault


on Jul. 31 2010
from Mulhouse

YACS Team - Modérateur, Support, Développement.
Share
Post to Facebook
Tweet about this
Share at LinkedIn
Invite participants
Reference this page
Monitor
Recent files
support »
See also
 

support «   Besoin d'aide «  

Appel d'un formulaire dans une section [Solved]

PreviousNextIndex

message d'erreur, yacs Martin RC7

WorkflowSupport request
StatusA solution has been made available
OwnerAlexis Raimbault
Progress80%

Bonjour,
en appelant un formulaire créé avec form, j'obtiens ce message d'erreur:
Fatal error: Class 'Forms' not found in /mon.site/shared/codes.php on line 2915.

Comments

Daniel 46 - on Jul. 31 2010
La page a été créée
Alexis Raimbault - on Aug. 6 2010

merci pour ce retour,

il faut ajouter

include_once $context['path_to_root'].'forms/forms.php';

juste après la ligne 2908 :

case 'form' :



Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 6 2010
Merci Alexis pour la réponse.
J'ai opéré les ajouts du code, je n'ai plus le message précédent et ma page est à nouveau visible, mais (il fallait bien qu'il y en ait un), un nouveau message d'erreur vient troubler l'appel du formulaire (qui n'est toujours pas visible)
Notice: Undefined index: in \wamp\www\...\shared\codes.php on line 2929
Remarque: en appelant le formulaire avec go=form_mon_formulaire on arrive sur la page du formulaire à remplir, et cette fois ci on a:
Notice: Undefined variable: text in \wamp\www\...\forms\view.php on line 412
Cordialement
Alexis Raimbault - on Aug. 6 2010

Daniel 46 :

essaye cette correction (ajoute id entre les quote) :

// make a link to the target page
 
$url =& Forms::get_url($item['id']);



Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 6 2010
à la ligne 412 de forms/view.php en remplaçant
// show the description
    
$text .= Skin::build_block($item['description'],'description');

par:
$text Skin::build_block($item['description'],'description');

c'est dire en supprimant le . après $text, il n'y a plus le message d'erreur dans view.php
Alexis Raimbault - on Aug. 6 2010
Tout marche maintenant ?

il y a donc 3 corrections en tout.


Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 6 2010
Où faut-il faut ajouter:
// make a link to the target page
 
$url =& Forms::get_url($item['id']);
Merci
Alexis Raimbault - on Aug. 6 2010
Daniel 46 :

dans shared/codes.php, dans le même bloc que la modif précédente, à la ligne qui faisait erreur (2929)


Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 9 2010
Pas mieux en ajoutant le correctif, toujours cette erreur:
Notice: Undefined index: in \wamp\www\...\shared\codes.php on line 2929
et toujours impossible d'aller au formulaire, pas de lien sur son id.
Alexis Raimbault - on Aug. 9 2010

Chez moi cela fonctionne en local, avec une 10.6.28 et PHP5

 




Alexis Raimbault webmaster free-lance
Alexis Raimbault - on Aug. 9 2010

De plus chez moi la correction sur forms/view.php ne semble pas nécessaire. Peux-tu préciser ta procédure ?




Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 9 2010
Version yacs martin 10.5.27
php 5.2.6
en local avec wamp La procédure: je crée un formulaire avec form, appelé form_xx. (utilisé pour passer des annonces sur le site)
j'assigne les réponses à ce formulaire à une section "Petites annonces"
Dans cette section, dans un premier temps, je tente d'appeler le formulaire avec form=form_xx, avec les correctifs apportés, j'obtiens le titre du formulaire, mais sans lien dessus.
Pour essayer autre chose je mets dans la section go=form_xx, un commentaire, le commentaire est bien là, avec le lien opérant vers le formulaire ad hoc, avec le message d'erreur dans form/view.php voir plus haut avec
$text Skin::build_block($item['description'],'description');
.
Je ne sais pas si je suis assez clair, en tout cas je m'aperçois que nous n'avons pas la même version de yacs (ou peut on trouver la version 10.6.28?)
Merci de ta patience et des tes réponses
Alexis Raimbault - on Aug. 9 2010

pour moi avec 2 correctifs dans shared/codes.php, dans la même zone.

  • include_once
  • $item['id']

je fais fonctionner :

[form=<id>] [form=<name>] [go=<name>, <text>]

il semble que tu n'ais pas bien appliqué le correctif $item['id']
(il faut remplacer la ligne existante)

la version 10.6.28 n'est disponible que sur le googlecode, mais il n'est pas sur qu'il y ait du changement sur les formulaires par rapport à RC7 (puisqu'il fallait des correctifs). Je vais vérifier.




Alexis Raimbault webmaster free-lance
Alexis Raimbault - on Aug. 9 2010

Je confirme, la seule différence entre 10.6 et 10.5 pour shared/codes.php concerne seulement la vidéo HTML5




Alexis Raimbault webmaster free-lance
Alexis Raimbault - on Aug. 9 2010

de même dans go.php rien de nouveau à part la gestion de nouveaux raccourcis vers les sections et articles




Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 10 2010
Bonjour Alexis,
il me semble que j'ai apporté les modifs comme il faut, à moins que des vacances me soient absolument indispensables. Je colle ici les bouts de code pour form dans shared/code.php pour un ultime vérification.
// link to a form
        
case 'form':
    include_once 
$context['path_to_root'].'forms/forms.php';
    
        
// make a link to the target page
        
$url =& Forms::get_url($item['id']);
    

            
// maybe an alternate title has been provided
            
$attributes preg_split("/\s*,\s*/"$id2);
            
$id $attributes[0];

            
// load the record from the database
            
if(!$item =& Forms::get($id))
                
$output '[form='.$id.']';

            else {

                
// ensure we have a label for this link
                
if(isset($attributes[1])) {
                    
$text $attributes[1];
                    
$type 'basic';
                } else
                    
$text Skin::strip($item['title']);


            }

            return 
$output;

Alexis Raimbault - on Aug. 10 2010

Daniel 46 : Mais c'est faux !

le traitement

//make a link to the target page
$url =& Forms::get_url($item['id']);

doit rester là où il était dans le else { }

dans ta version $item est encore vide lorsque tu lui demandes l'url.

de plus tu as sucré

// return a complete anchor
$output =& Skin::build_link($url$text$type);

vacances !




Alexis Raimbault webmaster free-lance
Daniel 46 - on Aug. 10 2010
idiot je suis. Mais c'est pas possible d'avoir la tête dans le guidon, et d'essayer de se voir pédaler, c'est sûr j'ai passé le mur du çon, comme dirait un canard déchainé!
Heureusement qu'il y en a qui veille au grain! Allez, marquons cette demande comme résolu et merci de ta bienveillance.
Alexis Raimbault - on Aug. 10 2010

Daniel 46 : merci d'avoir signalé ce bug sur les codes yacs liés aux formulaires




Alexis Raimbault webmaster free-lance
Alexis Raimbault - on Aug. 10 2010
Une solution est disponible


Alexis Raimbault webmaster free-lance

PreviousNextIndex