[TUTO] Ajout d'un champs de soumission

Proposez ici vos templates, vos plugins ou demandez en un.
Tous les tutoriels disponibles pour Arfooo Annuaire sont disponible dans cette rubrique

Re: [TUTO] Ajout d'un champs de soumission

Messagede mough-lee » Lun 8 Aoû 2011 10:38

Bonjour,

Pour l'instant tout ce que j'ai trouvé, c'est de supprimer tous les champs d'origine pour n'avoir que les champs ajouté agfin de les avoir dans le bon ordre.....

Peut - être auriez vous mieux comme soluce ?

Voici une page avec champs d'origine et champs ajouté : http://www.viacreations.com/annuaire/bu ... es-s2.html

a+ merci
mough-lee
 
Messages: 8
Inscription: Sam 6 Aoû 2011 23:47


Re: [TUTO] Ajout d'un champs de soumission

Messagede goldynet » Ven 23 Déc 2011 14:05

Moi pour mon projet je souhaiterais juste rajouter les horaires d'ouverture et de fermeture dans les infos société c'est possible c'est dans les Même fichier?? en affichage et en demande de soumission je souhaite rajouter les champs

horaire lundi:
horaire mardi
horaire mercredi

etc.. et que sa s'affiche dans information société (quand on active les infos ville tel etc..)

merci pour votre aide si quelqu'un peux me donner la routine j'ai rajouter les champs dans la base MYSQL j'ai mis
horaireLundi horaireMardi etc...

c'est après que j'arrive pas ca s'affiche pas dans la fenêtre info de société en demande et en détails help me
Idees cadeaux objet souvenir Paris : http://www.france-souvenirs.com
Codes reduction : http://www.bon-gratuit.com
goldynet
 
Messages: 10
Inscription: Sam 14 Mai 2011 15:06

Re: [TUTO] Ajout d'un champs de soumission

Messagede goldynet » Ven 23 Déc 2011 14:34

bon bah c'est bon ca marche enfin merci pour le Tuto
Idees cadeaux objet souvenir Paris : http://www.france-souvenirs.com
Codes reduction : http://www.bon-gratuit.com
goldynet
 
Messages: 10
Inscription: Sam 14 Mai 2011 15:06

Re: [TUTO] Ajout d'un champs de soumission

Messagede herbert » Jeu 16 Aoû 2012 10:50

Salut,

Ma version 1.0.9 d'arfooo déconnant depuis que mon hébergeur est passé à la dernière version de PHP, je me suis décidé à passer à la version 2.0.2.

J'ai à cette occasion rajouté des champs de soumission, et refait un tuto mis à jour, puisque la version 202 n'est pas totalement identique à la 1.0.9 : je le poste dès que j'ai fini mon update ;)

Un truc me chiffonne pourtant : mes nouveaux champs apparaissent partout (notamment dans la liste par catégories), mais impossible de les afficher sur la page des nouveaux sites.
J'ai bien repéré la fonction
Code: Tout sélectionner
newsAction()
dans le CONTROLLER/SITECONTROLLER.TPL, mais je n'arrive pas à voir ce qu'il faut ajouter pour que les sites affichés sur la page des news se présentent avec les memes données (titre, url, description) que dans les pages catégories.
voici le code du sitecontroller si ça peut aider :

Code: Tout sélectionner
* Display news sites
     */
    function newsAction()
    {
        if (!Config::get("newsEnabled")) {
            $this->return404();
        }
        //set adPage for ads
        Display::set("adPage", "news");
        $this->set("newSites", $this->siteList->getNewValidatedSites());
    }

    /**
     * Display sites inside this specified category
     */
    function categoryAction($categoryId, $urlName, $page = 1)
    {
        $page = intval($page);
        $c = new Criteria();

        if (Config::get("advancedUrlRewritingEnabled") && empty($categoryId)) {
            if (empty($urlName)) {
                $this->return404();
            }

            $c->add("urlName", $urlName);
        } else {
            if (empty($categoryId)) {
                $this->return404();
            }

            $c->add("categoryId", $categoryId);
        }

        $category = $this->category->find($c);

Herbert
herbert
 
Messages: 83
Inscription: Ven 22 Mai 2009 14:00

Re: [TUTO] Ajout d'un champs de soumission

Messagede herbert » Ven 17 Aoû 2012 09:36

Re

J'avance (un peu);
Bien sûr, l'affichage des caractéristiques d'un site (url, description...) se fait grace au ITEM.TPL, où j'ai placé mes champs perso.
par ex le champ auteur :

Code: Tout sélectionner
{if isset($site.auteur)}
{$site.auteur}
{/if}


ce champ s'affiche bien dans les pages de catégories dans la liste des sites, mais pas sur la page des nouveaux sites ...
que manque--t-il (et où) pour qu'il s'affiche ?

A+
Herbert
herbert
 
Messages: 83
Inscription: Ven 22 Mai 2009 14:00

Re: [TUTO] Ajout d'un champs de soumission

Messagede Arf » Ven 17 Aoû 2012 10:31

Peux-tu poster ton fichier siteController.php et siteListModel.php et item.tpl

As-tu modifié quelque chose dans ces fichiers ?

As-tu une erreur qui s'affiche sur la page nouveautés lorsque tu utilises ta variable auteur ?
Arf
Administrateur du site
 
Messages: 3082
Inscription: Lun 21 Jan 2008 14:53

Re: [TUTO] Ajout d'un champs de soumission

Messagede herbert » Ven 17 Aoû 2012 11:51

Merci Guillaume de regarder

Je n'ai pas d'erreur pour le nouveau champ auteur, simplement il n'apparait pas sur la page des nouveaux sites.

... mais je commence à comprendre pourquoi (modifier le sitelistmodel simplement ?):

SITECONTROLLER.PHP (2 modifs)

Code: Tout sélectionner
    function getWebsiteDataAction()
    {
        $siteId = $this->request->siteId;
        $site = $this->site->findByPk($siteId);
        $site->auteur = $site->getauteur();
        $site->niveau = $site->getniveau();
        $site->nature = $site->getnature();
        $site->info = $site->getinfo();
        $site->naturespe = $site->getnaturespe();
        $site->keywordIds = $site->getKeywordIds();
        $this->set($site->toArray());
        $this->viewClass = "JsonView";


et

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", "auteur", "niveau", "nature", "info", "naturespe", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes");


SITELISTEMODEL.PHP (d'origine)
Code: Tout sélectionner
    function getNewValidatedSites()
    {
        $c = new Criteria();
        $c->add("status", "validated");
        $c->add($this->getForbiddenRule());
        $c->addOrder("creationDate DESC");
        $c->setLimit(Config::get('maxNewsCount'));

        $fields = "url, siteTitle, siteId, imageSrc, firstGalleryImageSrc, description, creationDate, countryCode";
        return $this->selectWithNewFlag($c, $fields);
    }


ITEM.TPL (ajout de plusieurs variables)

Code: Tout sélectionner
{if isset($display.hitsCountInListItem)}
<span class="text_characters_boldgras">{'siteItem_hits'|lang} :</span>
{$site.visitsCount}
<br /><br />
{/if}


{if isset($site.niveau)}
{$site.niveau} |
{/if}

{if isset($site.nature)}
{$site.nature} |
{/if}

{if isset($site.auteur)}
{$site.auteur}
{/if}

{if isset($site.info)}
{$site.info}
{/if}

{if isset($site.naturespe)}
{$site.naturespe}
{/if}

{if isset($display.notesCountInListItem)}
<span class="text_characters_boldgras">{'siteItem_rate'|lang} :</span>
{$site.votesAverage}{'siteItem_5'|lang} {'siteItem_for'|lang} {$site.votesCount}  {'siteItem__rate'|lang}
<br /><br />
{/if}
herbert
 
Messages: 83
Inscription: Ven 22 Mai 2009 14:00

Re: [TUTO] Ajout d'un champs de soumission

Messagede herbert » Ven 17 Aoû 2012 11:51

Merci Guillaume de regarder

Je n'ai pas d'erreur pour le nouveau champ auteur, simplement il n'apparait pas sur la page des nouveaux sites.

... mais je commence à comprendre pourquoi (modifier le sitelistmodel simplement ?):

SITECONTROLLER.PHP (2 modifs)

Code: Tout sélectionner
    function getWebsiteDataAction()
    {
        $siteId = $this->request->siteId;
        $site = $this->site->findByPk($siteId);
        $site->auteur = $site->getauteur();
        $site->niveau = $site->getniveau();
        $site->nature = $site->getnature();
        $site->info = $site->getinfo();
        $site->naturespe = $site->getnaturespe();
        $site->keywordIds = $site->getKeywordIds();
        $this->set($site->toArray());
        $this->viewClass = "JsonView";


et

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", "auteur", "niveau", "nature", "info", "naturespe", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes");


SITELISTEMODEL.PHP (d'origine)
Code: Tout sélectionner
    function getNewValidatedSites()
    {
        $c = new Criteria();
        $c->add("status", "validated");
        $c->add($this->getForbiddenRule());
        $c->addOrder("creationDate DESC");
        $c->setLimit(Config::get('maxNewsCount'));

        $fields = "url, siteTitle, siteId, imageSrc, firstGalleryImageSrc, description, creationDate, countryCode";
        return $this->selectWithNewFlag($c, $fields);
    }


ITEM.TPL (ajout de plusieurs variables)

Code: Tout sélectionner
{if isset($display.hitsCountInListItem)}
<span class="text_characters_boldgras">{'siteItem_hits'|lang} :</span>
{$site.visitsCount}
<br /><br />
{/if}


{if isset($site.niveau)}
{$site.niveau} |
{/if}

{if isset($site.nature)}
{$site.nature} |
{/if}

{if isset($site.auteur)}
{$site.auteur}
{/if}

{if isset($site.info)}
{$site.info}
{/if}

{if isset($site.naturespe)}
{$site.naturespe}
{/if}

{if isset($display.notesCountInListItem)}
<span class="text_characters_boldgras">{'siteItem_rate'|lang} :</span>
{$site.votesAverage}{'siteItem_5'|lang} {'siteItem_for'|lang} {$site.votesCount}  {'siteItem__rate'|lang}
<br /><br />
{/if}
herbert
 
Messages: 83
Inscription: Ven 22 Mai 2009 14:00

Re: [TUTO] Ajout d'un champs de soumission

Messagede herbert » Ven 17 Aoû 2012 14:34

Bon, je suis un peu honteux, j'avais laisser de côté le sitelistmodel :oops:
Ca marche en integrant les nouvelles variables ici :

function getNewValidatedSites()
{
$c = new Criteria();
$c->add("status", "validated");
$c->add($this->getForbiddenRule());
$c->addOrder("creationDate DESC");
$c->setLimit(Config::get('maxNewsCount'));

$fields = "url, siteTitle, siteId, imageSrc, firstGalleryImageSrc, description, auteur, niveau, nature, info, naturespe, creationDate, countryCode";
return $this->selectWithNewFlag($c, $fields);
}

désolé de t'avoir dérangé pour si peux Guillaume, et encore bravo pour ce super script. Comptes-tu le développer encore ?

Herbert
herbert
 
Messages: 83
Inscription: Ven 22 Mai 2009 14:00

Re: [TUTO] Ajout d'un champs de soumission

Messagede morine » Lun 22 Oct 2012 11:59

Bonjour
en suivant ce tuto : tout fonctionne parfaitement !
merci beaucoup
Morine
morine
 
Messages: 236
Inscription: Mar 16 Déc 2008 17:39

PrécédenteSuivante

Retourner vers Templates, plugins et tutoriels

 


  • 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