Welcome, Guest
Username Password: Remember me
  • Page:
  • 1

TOPIC: Probleme avec le champ FREE CODE

Probleme avec le champ FREE CODE 1 year, 5 months ago #1

  • substral
  • ( User )
  • OFFLINE
  • Junior Boarder
  • Posts: 34
  • Karma: 0
Bonjour,

J'ai créé un champs de type "free code", et quelque soit le code, aucun résultat n'apparait.
Par exemple
echo 'Hello world!';

n'affiche rien.

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #2

  • SEBLOD - Eric
  • ( User )
  • OFFLINE
  • Expert Boarder
  • Posts: 127
  • Karma: 0
Hi, substral

Thanks for your post.

Free Code:

Execute some php code on 'Before Save Content'. You can Get & Set the value of any custom field, and interact with the db table you need. Use like that: $ARRAY['fieldname']->value (replace fieldname by the name of the field you want)


Hope that can help you.

Best regards

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #3

  • substral
  • ( User )
  • OFFLINE
  • Junior Boarder
  • Posts: 34
  • Karma: 0
Oups!
Ok. Merci pour la réponse.
J'ai enfin compris que mon 'Hello World' ne pouvait pas s'afficher.
Mais cela ne m'avance pas plus.

Ce que je veux faire est simple. Je souhaite enregistrer une valeur dans le champ 'metakey' de la table 'jos_content'.

J'ai donc écrit dans le champ 'Freecode' ceci :
$ARRAY['metakey']->value = "Blabla";
cela ne fonctionne pas.
$ARRAY['meta_key']->value = "Blabla";
non plus.

J'ai essayé en mettant le champ 'Content Meta Key' de Jseblod dans le formulaire d'admin et en l'enlevant. Rien n'y fait.

J'ai l'impression que quelque chose d'évident m'échappe, mais impossible de savoir quoi.

La plus petite piste me ferait plaisir.

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #4

  • lauraneb
  • ( User )
  • OFFLINE
  • Platinum Boarder
  • Posts: 418
  • Karma: 0
marche pas sous la RC3 il garde pas le code
marche mieux sous RC4
en cours de refonte du site macabann.com avec jseblod

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #5

  • SEBLOD - Mehdi
  • ( Admin )
  • OFFLINE
  • Administrator
  • Posts: 1292
  • Karma: 26
Bonjour substral,

Je tiens à apporter mon concours à ta problématique.

le code

$ARRAY['metakey']->value = "Blabla";


que tu vas mettre dans le free code d'un tupe de contenu "A" permet d'accéder au champs 'metakey' de "A".

Maintenant, pour accéder au champs "metakey" de la base de données "jos_content", il faut mettre en œuvre un script sql que tu vas intégrer dans ton champs "free_code" (qui n'est rien d'autre qu'un code PHP) pour mettre à jour la valeur du champs "metakey".

J'espère t'avoir aider par cette réponse.

Je t'encourage à utiliser le jSeblod CCK car beaucoup de nouveautés sont à venir.

Cordialement,
Mehdi
If you use SEBLOD CCK, please post a rating and a review at the Joomla! Extensions Directory. Thanks to you.!!"
SEBLOD Vimeo Channel: vimeo.com/channels/seblod
SHAPE YOUR SITE YOUR WAY
Last Edit: 1 year, 5 months ago by SEBLOD - Mehdi.

Re: FREE CODE ne fonctionne pas pour les champs meta 1 year, 5 months ago #6

  • Formul
  • ( User )
  • OFFLINE
  • Gold Boarder
  • Webmaster
  • Posts: 265
  • Karma: 6
jSeblod - Mehdi wrote:
Bonjour substral,

Je tiens à apporter mon concours à ta problématique.

le code

$ARRAY['metakey']->value = "Blabla";


que tu vas mettre dans le free code d'un tupe de contenu "A" permet d'accéder au champs 'metakey' de "A".

Maintenant, pour accéder au champs "metakey" de la base de données "jos_content", il faut mettre en œuvre un script sql que tu vas intégrer dans ton champs "free_code" (qui n'est rien d'autre qu'un code PHP) pour mettre à jour la valeur du champs "metakey".

J'espère t'avoir aider par cette réponse.

Je t'encourage à utiliser le jSeblod CCK car beaucoup de nouveautés sont à venir.

Cordialement,
Mehdi


bonjour,

Désolé de te contredire mais ça ne fonctionne pas pour les meta , tous les champs meta ne sont pas overridé par le CCK 1.7 rC4 !!!

ça fonctionne très bien pour les autre champs
exemple qui fonctionne avec "zipcode":
free-code:
$ARRAY['zipcode']->value ="56100";


il manque quelquechose là dans le code source du composant pour traiter tous les champs meta! ou alors le principe est différent.

@+
Last Edit: 1 year, 5 months ago by Formul.

Re: FREE CODE ne fonctionne pas pour les champs meta 1 year, 5 months ago #7

  • SEBLOD - Mehdi
  • ( Admin )
  • OFFLINE
  • Administrator
  • Posts: 1292
  • Karma: 26
Bonjour Formul,

Le 'zipcode', c'est un champs de quoi ? type de contenu ou une base de données ?

Cordialement,
jSeblod - Mehdi
If you use SEBLOD CCK, please post a rating and a review at the Joomla! Extensions Directory. Thanks to you.!!"
SEBLOD Vimeo Channel: vimeo.com/channels/seblod
SHAPE YOUR SITE YOUR WAY

Re: FREE CODE ne fonctionne pas pour les champs meta 1 year, 5 months ago #8

  • Formul
  • ( User )
  • OFFLINE
  • Gold Boarder
  • Webmaster
  • Posts: 265
  • Karma: 6
jSeblod - Mehdi wrote:
Bonjour Formul,

Le 'zipcode', c'est un champs de quoi ? type de contenu ou une base de données ?

Cordialement,
jSeblod - Mehdi


Oui bonjour et merci pour ce suivi

champ de contenu
Nom: zipcode
Catégorie:Joomla_user
Type de Champ: Texte


Ils sont tous en base de données dans la table jos_jseblod_cck_items

champ de la table


SELECT *
FROM `jos_jseblod_cck_items`
WHERE `name` LIKE 'zipcode'


et en inspectant l'élément du formulaire :

 
<td class="cck_field" id="zipcode_container">
<input class="inputbox text validate-number" type="text" id="zipcode" name="zipcode" maxlength="5" size="32" value=""/>
</td>
 
 


là ça coïncide les names sont identiques!



POur le meta key:

Nom: meta_key
Catégorie:content fields
Type de Champ: Champ du Noyau Joomla

FORMULAIRE :: Construction
champ de contenu

Nom: jcontentmetameta_key
Catégorie:content construction fields
Type de Champ:Textearea


dans la table on les trouve ici:


SELECT *
FROM `jos_jseblod_cck_items`
WHERE `name` LIKE 'meta_key'


et


SELECT *
FROM `jos_jseblod_cck_items`
WHERE `name` LIKE 'jcontentmetameta_key'


à mon avis c'est le textarea qui intéresse mais c'est pareil , ça ne fonctionne pas non plus
avec : $ARRAY['jcontentmetameta_key']->value ="blabla";

et quand on regarde le name que porte la mise en page de ce textarea dans le formulaire en inspectant l'élément , ben ça donne ceci:

 
<td class="cck_field" id="jcontentmeta_key_container">
<textarea class="textarea " id="meta_key" name="jcontentmeta[meta_key]" cols="25" rows="3" onkeydown="this.value=this.value.substring(0, 50);" style=""/>
</td>
 
 


name= "jcontentmeta[meta_key]" , ça fait 2 "name" pour ce seul champ Textarea c'est pas normal

Last Edit: 1 year, 5 months ago by Formul.

Re: FREE CODE ne fonctionne pas pour les champs meta 1 year, 5 months ago #9

  • SEBLOD - Mehdi
  • ( Admin )
  • OFFLINE
  • Administrator
  • Posts: 1292
  • Karma: 26
Bonjour Formul et substral,

Ce que vous devez savoir à ce sujet est que le "php code" qui est associé à un type de contenu "A" permet l'accès uniquement aux attributs de "A".

metakey correspond à une ligne de la base de données et non à un champs du type de contenu "A".

Donc pour mettre à jour metakey, faut utiliser les requêtes SQL comme indiqué dans les précédents post.

J'espère vous avoir éclairer.

Cordialement
If you use SEBLOD CCK, please post a rating and a review at the Joomla! Extensions Directory. Thanks to you.!!"
SEBLOD Vimeo Channel: vimeo.com/channels/seblod
SHAPE YOUR SITE YOUR WAY

Re: FREE CODE ne fonctionne pas pour les champs meta 1 year, 5 months ago #10

  • Formul
  • ( User )
  • OFFLINE
  • Gold Boarder
  • Webmaster
  • Posts: 265
  • Karma: 6
ok pas de soucis je ferai un test basé sur requête SQL

mais juste pour dire que cette réponse :


jSeblod - Eric wrote:
Hi, substral

Thanks for your post.

Free Code:

Execute some php code on 'Before Save Content'. You can Get & Set the value of any custom field, and interact with the db table you need. Use like that: $ARRAY['fieldname']->value (replace fieldname by the name of the field you want)


Hope that can help you.

Best regards



indique une méthode d'approche en free-code avec $ARRAY['fieldname']->value = "myvalue";

et

que cette méthode donne la possibilité d'Over-Ride sur certain champ mais n'indique pas de limitation , ni de distinction de champ .

merci pour l'aide

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #11

  • SEBLOD - Saba
  • ( Admin )
  • OFFLINE
  • Administrator
  • Posts: 930
  • Karma: 38
Bonjour a tous,

Pour etre clair (c'est important!), l'explication du tooltip (reprise en bleu sur le post) indique bien que l'on peut acceder a la valeur ou definir la valeur de n'importe quel champ personnalise = "any custom field" ... ceci est donc a opposer aux champs du noyau = "core field" comme metakey...

Cela est bien sur prevu, et viendra des que possible.

Cordialement,
Saba.


PS:
name= "jcontentmeta[meta_key]" , ça fait 2 "name" pour ce seul champ Textarea c'est pas normal

Le nom meta_key est seulement dans un tableau... rien d'anormal.
If you use jSeblod CCK, please post a rating and a review at the Joomla! Extensions Directory. Thanks to you "Innovation Will Continue !!"
Last Edit: 1 year, 5 months ago by SEBLOD - Saba.

Re: Probleme avec le champ FREE CODE 1 year, 5 months ago #12

  • Formul
  • ( User )
  • OFFLINE
  • Gold Boarder
  • Webmaster
  • Posts: 265
  • Karma: 6
bonsoir jSeblod - Saba

oui, merci pour ces précision , par force des choses c'est effectivement ce que l'on a constaté et donc donne un sens à "any custom field" de ce post !

pour le tableau des meta c'est plus pratique en effet, c'est que ça prêtait à confusion avec le nom du champs de la base qui lui est différent.

enfin tout cela nous permis à lever le doute sur la possibilité évoquée sachant que maintenant nous savons que le traitement est différent pour les core fiels.



@+

Re: Probleme avec le champ FREE CODE 1 year, 4 months ago #13

  • Formul
  • ( User )
  • OFFLINE
  • Gold Boarder
  • Webmaster
  • Posts: 265
  • Karma: 6
substral wrote:
Oups!
Ok. Merci pour la réponse.
J'ai enfin compris que mon 'Hello World' ne pouvait pas s'afficher.
Mais cela ne m'avance pas plus.

Ce que je veux faire est simple. Je souhaite enregistrer une valeur dans le champ 'metakey' de la table 'jos_content'.

J'ai donc écrit dans le champ 'Freecode' ceci :
$ARRAY['metakey']->value = "Blabla";
cela ne fonctionne pas.
$ARRAY['meta_key']->value = "Blabla";
non plus.

J'ai essayé en mettant le champ 'Content Meta Key' de Jseblod dans le formulaire d'admin et en l'enlevant. Rien n'y fait.

J'ai l'impression que quelque chose d'évident m'échappe, mais impossible de savoir quoi.

La plus petite piste me ferait plaisir.


salut,

je ne sais pas si 'es toujours en quête de solution pour tes meta key et meta description mais à defaut de ne pouvoir le faire avec un free-code (qui n'est pas vraiment top pour l'instant)

Tu peux le faire de cette manière :


directement dans ton template de contenu (par exemple advanced_content )juste après ($jSeblod = clone $this;)

rentre ce Code:

$custom_keywords = $jSeblod->NOM_DE_TON_CHAMP_A->value.",".$jSeblod->NOM_DE_TON_CHAMP_B->value.",".$jSeblod->NOM_DE_TON_CHAMP_C->value; 
 
$custom_description = $jSeblod->NOM_DE_TON_CHAMP_D->value;
$custom_robots = "nofollow";
 
 
$document =& JFactory::getDocument();
$document->setMetaData( 'keywords', $custom_keywords );
$document->setMetaData( 'description', $custom_description);
$document->setMetaData( 'robots', $custom_robots);
 


CES CHAMPS ABCD doivent impérativement faire partie de la vue content donc tu dois les avoir dans ton tableau de champs contenu.

c'est assez pratique en fait et j'ai testé ça fonctionne , cela a pour effet de lier des champs automatiquement en fonction du modèle de laison établit par les champs choisis et compléte les champs vide lors de la génération de la page sans pour autant faire d'INSERT de valeur dans la base !

parcontre si le champ n'est pas vide dans le formulaire, c'est la valeur de la base de donnée qui prévaudra.Pratique au point d'éviter que l'on le fasse à la main !

A+
  • Page:
  • 1
Moderators: webfacsimon, poco06
Time to create page: 0.93 seconds