Mots clefs proposés par le Webmaster

Trouvez ici tout l'aide dont vous avez besoin concernant le script d'annuaire Arfooo.
Merci de reporter les éventuels bugs trouvés.

Mots clefs proposés par le Webmaster

Messagede julietta » Sam 6 Nov 2010 17:46

Rebonjour à tous,

Il y a une petite chose que je ne comprends pas : comment fait-on pour valider les mots clefs proposés par le webmaster qui vient de soumettre son site ?

En effet, la validation du site ne donne pas lieu à la validation des mots clefs proposés... Dois-je les rentrer un à un dans la partie "gérer les commentaires" ?


Merci à tous !
Julietta
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54


Re: Mots clefs proposés par le Webmaster

Messagede Arf » Dim 7 Nov 2010 11:30

Bonjour,

Il faut les créer manuellement afin d'avoir un contrôle sur les mots clés.
Arf
Administrateur du site
 
Messages: 3100
Inscription: Lun 21 Jan 2008 14:53

Re: Mots clefs proposés par le Webmaster

Messagede julietta » Dim 7 Nov 2010 12:21

Bonjour Arf,

Contente de vous lire !

J'ai lu sur un post que la validation des mots clefs se faisaient lors de l'acceptation du site soumis et j'avais hâtivement conclu que la validation des mots clefs était automatique ;)

Il y a des fois où je passe totalement à côté des options d'Arfooo c'est pour cela que je demande toujours... Au cas où... :D

Mais du coup j'ai une autre question bête : peut-on générer les mots clefs à la volée... ?

Du genre : entrer une succession de mots clefs séparés par une virgule (ou autre) qui permettrait de scinder une expression type "ain, rhône, jura, drôme, ardèche"...etc en autant de mots clefs ?


Merci à tous pour votre aide !
Julietta
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54

Re: Mots clefs proposés par le Webmaster

Messagede Angra-Mainyu » Dim 7 Nov 2010 14:57

Bonjour.

Voilà comment je procède pour générer les mots clés à la volée.

dans le fichier tonannuaire/admin/controllers/siteController.php
dans la fonction saveSiteAction()

en dessous de
Code: Tout sélectionner
  if (isset($this->request->proposalForCategory)) {
            array_push($fields, 'proposalForCategory');
        }


/*** rajout car oublier de préciser ***/
en dessous de
Code: Tout sélectionner
if (isset($this->request->proposalForKeywords)) {
            array_push($fields, 'proposalForKeywords');
        }

utilise le code suivant :
Code: Tout sélectionner
      /**** mods Wa : si des mots clés sont proposés, on les ajoutes a la liste des mots
      clés selectionnables pour traitement */

$arrayKeywords = array(); /** tableau vide */
        if (isset($this->request->proposalForKeywords)) { /*** si des mots clés sont proposés ***/
            array_push($fields, 'proposalForKeywords'); /*** on rajoute un clé au tableau fields ***/
         
                   /*** on récupère tous les mots clés séparés par une virgule, on enlève les espaces ***/
         $arr_keywords = explode(',',trim($this->request->proposalForKeywords));

                        /*** on inclus les mots clés dans le tableau des variables reçues par $_POST ***/
         $this->request->addArray('keywords',$arr_keywords);
      }


Arfoo fait le reste ^^
Dernière édition par Angra-Mainyu le Dim 7 Nov 2010 18:34, édité 2 fois.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Mots clefs proposés par le Webmaster

Messagede julietta » Dim 7 Nov 2010 16:23

Bonjour, bonjour ! ;)

Tout d'abord merci beaucoup pour ce coup de main.
Le code a été inséré.
Je n'ai pas dû comprendre comment fonctionne cette fonction...

En effet si je vais dans "gestion des commentaires" et que je note "vacances,location vacances" cela me génère un seul et unique mot de clef "vacances,location vacances"

Je suis donc allé faire un tour dans la fiche d'un site ayant proposé des mots clefs et désormais si j'édite un site, le bouton "sauvegarder" est inactif.
Si je supprime le code, la sauvegarde fonctionne de nouveau.

Voici à quoi ressemble ma fonction :
Code: Tout sélectionner
function saveSiteAction()
    {
        $this->viewClass = "JsonView";
        $edit = !empty($this->request->siteId);
        $validationOptions = array("admin" => true,
                                   "forceCategoryDuplicate" => true,
                                   "forcePossibleTender" => true);
                                   
        if ($this->request->url == "http://") {
            $this->request->url = "";
        }

        if ($edit) {
            $site = $this->site->findByPk($this->request->siteId);

            if ($site->status != "validated" && $this->request->status == "validated") {
                $site->_creationDate = "NOW()";
            }

            $package = $site->packageId ? $this->package->findByPk($site->packageId) : null;
            $errorMessage = $this->siteValidator->validate($this->request,
                                                           $site,
                                                           $validationOptions + array("package" => $package));
        } else {
            $site = new SiteRecord();
            $this->request->webmasterEmail = $this->session->get("email");
            $errorMessage = $this->siteValidator->validate($this->request, null, $validationOptions);
        }

        if ($errorMessage) {
            $status = "error";
            $this->set("status", $status);
            $this->set("message", _t($errorMessage));
            return;
        }

        $fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes");

        if (Config::get("countryFlagsEnabled")) {
            array_push($fields, "countryCode");
        }

        if (Config::get("companyInfoEnabled")) {
            array_push($fields, "address", "zipCode", "city", "country", "phoneNumber", "faxNumber");
        }

        if (isset($this->request->proposalForCategory)) {
            array_push($fields, 'proposalForCategory');
        }
       
        /**** mods Wa : si des mots clés sont proposés, on les ajoutes a la liste des mots clés selectionnables pour traitement */
       $arrayKeywords = array(); /** tableau vide */
            if (isset($this->request->proposalForKeywords)) { /*** si des mots clés sont proposés ***/
                array_push($fields, 'proposalForKeywords'); /*** on rajoute un clé au tableau fields ***/
             
        /*** on récupère tous les mots clés séparés par une virgule, on enlève les espaces ***/
        $arr_keywords = explode(',',trim($this->request->proposalForKeywords));

        /*** on inclus les mots clés dans le tableau des variables reçues par $_POST ***/
        $this->request->addArray('keywords',$arr_keywords);
          }


        if (isset($this->request->proposalForKeywords)) {
            array_push($fields, 'proposalForKeywords');
        }

        $site->fromArray($this->request->getArray($fields));
        $site->searchPartnership = empty($this->request->searchPartnership) ? 0 : 1;
        $site->save();

        // store keywords
        if (!empty($this->request->keywords)) {
            $maxKeywordsCountPerSite = !empty($package) ? $package->maxKeywordsCountPerSite : Config::get("maxKeywordsCountPerSite");
            $this->keywordsOfSite->storeKeywords($site->siteId, $this->request->keywords, $maxKeywordsCountPerSite);
        }

        if (!empty($this->request->tempId)) {
            $c = new Criteria();
            $c->add("tempId", $this->request->tempId);

            $this->photo->update(array("itemId" => $site->siteId, "_tempId" => "NULL"), $c);
            $site->updatePhotos();
        }

        $this->extraField->saveExtraFieldsValues($site, $this->request);
        $site->updateSuffix();

        $this->set("status", "ok");
        $this->set("message", _t("The site was successfully submitted."));
        $this->set("redirectUrl", AppRouter::getRewrittedUrl("/admin/category/index/" . $site->categoryId));
    }
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54

Re: Mots clefs proposés par le Webmaster

Messagede Angra-Mainyu » Dim 7 Nov 2010 16:34

Ce code ne s'utilise uniquement que dans la fiche d'édition de site.
C'est le seul endroit que je connais pour le moment pour valider un site donc j'utilise cette partie.

Pour la partie ou le bouton est désactivé, le code ne touche rien au template, donc je ne vois pas pourquoi ton bouton serait désactivé.

La seule chose qu'il fait, c'est récupéré les mots clés insérés dans la partie "siteEdit_keyword_proposal" ( input juste avant "le site a un problème" et de le transformer en plusieurs mots clés.
Aucune modification n'est faite à ton template.

et tu as le dernier
Code: Tout sélectionner
  if (isset($this->request->proposalForKeywords)) {
            array_push($fields, 'proposalForKeywords');
        }

au dessus de
Code: Tout sélectionner
$site->fromArray($this->request->getArray($fields));
            $site->searchPartnership = empty($this->request->searchPartnership) ? 0 : 1;
            $site->save();

de trop, il faut l'enlever
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Mots clefs proposés par le Webmaster

Messagede julietta » Dim 7 Nov 2010 16:39

Je vais recommencer, le problème s'est posé avec un site ayant soumis des mots clefs avant que j'installe le code.
Mais bon bref, cela ne devrait pas poser souci.

En revanche, je me pose la question de mon bout de code :
Code: Tout sélectionner
if (isset($this->request->proposalForCategory)) {
            array_push($fields, 'proposalForCategory');
        }
       
        /**** mods Wa : si des mots clés sont proposés, on les ajoutes a la liste des mots clés selectionnables pour traitement */
       $arrayKeywords = array(); /** tableau vide */
            if (isset($this->request->proposalForKeywords)) { /*** si des mots clés sont proposés ***/
                array_push($fields, 'proposalForKeywords'); /*** on rajoute un clé au tableau fields ***/
             
        /*** on récupère tous les mots clés séparés par une virgule, on enlève les espaces ***/
        $arr_keywords = explode(',',trim($this->request->proposalForKeywords));

        /*** on inclus les mots clés dans le tableau des variables reçues par $_POST ***/
        $this->request->addArray('keywords',$arr_keywords);
          }


        if (isset($this->request->proposalForKeywords)) {
            array_push($fields, 'proposalForKeywords');
        }

        $site->fromArray($this->request->getArray($fields));
        $site->searchPartnership = empty($this->request->searchPartnership) ? 0 : 1;
        $site->save();



Je me retrouve avec 2 fois :
Code: Tout sélectionner
if (isset($this->request->proposalForKeywords))
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54

Re: Mots clefs proposés par le Webmaster

Messagede julietta » Dim 7 Nov 2010 16:41

:D

Désolé tu éditais pendant que j'écrivais... Transmission de pensée ;)
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54

Re: Mots clefs proposés par le Webmaster

Messagede Angra-Mainyu » Dim 7 Nov 2010 16:44

^^ je suis connecté sur le forum en travaillant sur mon annuaire, donc je regarde souvent le suivi des messages.
ça me permet de respirer un peu on va dire :)
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Mots clefs proposés par le Webmaster

Messagede julietta » Dim 7 Nov 2010 16:54

Bon bon bon Angra, je vais être très chiante mais cela ne fonctionne pas... :?

En fait je ne peux pas dire si ça fonctionne ou pas, mais ce qui est sûr c'est que je ne peux plus sauvegarder les sites avec ce code... Je clique, je clique et il ne se passe rien... J'enlève le code, j'upload et hop ça refonctionne... Je l'ai fait 3 fois de suite pour être bien certaine...

Toi, ça fonctionne ? t'es sûr ?

Je tourne sur Mozilla, je le dis au cas où...
julietta
 
Messages: 45
Inscription: Mer 30 Juin 2010 08:54

Suivante

Retourner vers Installation, aide et report de bugs

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

 
Copyright © arfooo.com  2007 - 2011  -  Tous droits réservés  -  Partenaires de confiance
Sites du groupe: petites annonces gratuites   voyance en direct - tirage tarot   Consultant en référencement
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | phpBB SEO Traduction par: phpBB-fr.com
cron