Modifier le type de soumission d'un site via votre admin

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

Modifier le type de soumission d'un site via votre admin

Messagede Angra-Mainyu » Lun 8 Nov 2010 08:31

Ces petites modifications vous permettront d'avoir une option afin de modifier le type de soumission d'un site via votre interface d'administration.
Vous pourrez donc passer un site de type Basic en premium et vice-versa.
Très peu de modifications sont nécessaires.

3 fichiers seront modifés.
Penser à faire une sauvegarde des ceux-ci avant de réaliser les modifications.
Je suis un pro du bogue ^^ j'en crée facilement

fichier 1 : admin/controllers/siteController.php
fichier 2 : admin/templates/arfooo/site/edit/tpl
fichier 3 : admin/languages/fr.php


Premièrement, nous allons créer un selectbox dans le template associé à l'édition d'un site via l'admin.
Le fichier a édité est : admin/templates/arfooo/site/edit.tpl

Dans ce fichier, trouver l'emplacement ou se situe le code suivant :
Code: Tout sélectionner
<tr>
    <td>{'siteEdit_website_payment_detail'|lang}:</td>
    <td>
{if $site.siteType == "basic"}
{'siteEdit_payment_free'|lang}
{else}
{'siteEdit_payment_premium'|lang} - {if !empty($package)}{$package.name} -{/if} {$site.paymentProcessorName} <br/>
{'siteEdit_payment_status'|lang} : {switch from=$site.paymentStatus}
{case value="pending" }{'siteEdit_payment_status_pending'|lang}
{case value="denied" }{'siteEdit_payment_status_denied'|lang}
{case}{'siteEdit_payment_status_paid'|lang}
{/switch}
{/if}</td>
</tr>


En dessous de ce code, ajouter la partie suivante :
Code: Tout sélectionner
<tr>
   <td>{'siteEdit_change_siteType'|lang}:</td>
    <td><select name="siteType" class="select-siteType">
             <option value="basic" {if $site.siteType == "basic"}selected="selected"{/if} >Basic</option>
              <option value="premium"  {if $site.siteType == "premium"}selected="selected"{/if}>Premium</option>
         </select>
     </td>
</tr>


Nous ne faisons que rajouter un selectbox, avec deux valeurs : basic ou premium. Par défaut, le type de soumission est celui qui est choisi lors de la soumission par le webmaster du site ( option selected du selectbox ).

Pour le besoin de la modifcation, nous avons créer une nouvelle variable de langue,
on implemente sa valeur dans le fichier admin/language/fr.php
trouver la partie associée à l'édition de site, et ajouté à la fin de cette partie
Code: Tout sélectionner
$language['siteEdit_change_siteType'] = 'Changer le type de soumission';


Du coté du controller, on ouvre le fichier admin/controllers/siteController.php
et on se rend dans la fonction saveSiteAction.

dans cette fonction,
on ajoute simplement un clé 'siteType' dans le tableau $fields
on aura donc
Code: Tout sélectionner
     $fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes","siteType");


à la place de
Code: Tout sélectionner
     $fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes");


La valeur siteType a été rajouté, c'est celle qui nous interesse.
Le tableau $fields contient les variables que l'on a besoin pour l'enregistrement des données soumis via le formulaire.

Vider ensuite votre cache et le dossier de votre thème compilé ( cache/admin/arfooo_template/fr )
et vérifier que tout fonctionne normalement.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37


Re: Modifier le type de soumission d'un site via votre admin

Messagede Arf » Lun 8 Nov 2010 20:14

Bonjour Angra-Mainyu,

Je te remercie beaucoup et ça va aider une membre au minimum, j'en suis certain ;)
Je vais faire en sorte qu'on puisse le faire directement dans la prochaine version.

Merci bcp pour tous les tutos que tu as proposé et que tu continues de proposer.

PS: ton site en signature ne fonctionne pas ?
Arf
Administrateur du site
 
Messages: 3082
Inscription: Lun 21 Jan 2008 14:53

Re: Modifier le type de soumission d'un site via votre admin

Messagede Hexa-67 » Lun 8 Nov 2010 22:35

Arf a écrit:PS: ton site en signature ne fonctionne pas ?


C'est toujours le cordonnier le plus mal chaussé!
Avatar de l’utilisateur
Hexa-67
 
Messages: 966
Inscription: Lun 1 Mar 2010 17:59

Re: Modifier le type de soumission d'un site via votre admin

Messagede Angra-Mainyu » Mar 9 Nov 2010 01:18

Salut, c pas grave pour le site, je verrais un de ces 4 :) ce qui est bizarre c'est que chez moi, il fonctionne très bien.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Modifier le type de soumission d'un site via votre admin

Messagede Bodyboard » Mer 10 Nov 2010 14:47

J'ai un bogue :D

Code: Tout sélectionner
(8) Uninitialized string offset: 0   class.template.php(535) : eval()'d code   line 375     10-11-10   14:40

FrontController->dispatch() # line   20, file: /******/******/***/annuaire/index.php
  Controller->render() # line  225, file: /******/******/***/annuaire/core/FrontController.php
    TemplateLiteView->render(Object:Admin_SiteController) # line  167, file: /******/******/***/annuaire/core/Controller.php
      Template_Lite->fetch("site/edit.tpl") # line   75, file: /******/******/***/annuaire/views/TemplateLiteView.php
        Template_Lite->_fetch_compile("site/edit.tpl", null) # line  360, file: /******/******/***/annuaire/components/template_lite/class.template.php
          eval() # line  535, file: /******/******/***/annuaire/components/template_lite/class.template.php


J'ai vidé le cache mais rien à faire.
J'ai remis les fichiers d'origine mais le bogue est toujours là....
Bodyboard
 
Messages: 93
Inscription: Mer 4 Mar 2009 10:14
Localisation: Toulouse

Re: Modifier le type de soumission d'un site via votre admin

Messagede Angra-Mainyu » Mer 10 Nov 2010 15:27

ok je fais faire le test sur un nouvel install d'arfooo, je verrais si j'ai cette erreur.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Modifier le type de soumission d'un site via votre admin

Messagede Angra-Mainyu » Mer 10 Nov 2010 16:44

Ok ok :?
J'ai eu le même problème que toi en utilisant un script vierge.
Tout cela vient du système de paiement, comme je ne me suis jamais attarder sur celui la, j'y ai pas fait gaffe.

Néanmoins, j'ai trouvé une petite solution pour ne plus avoir ce message.

dans la fonction editAction
en dessous de
Code: Tout sélectionner
   $package = $site->packageId ? $this->package->findByPk($site->packageId) : null;


rajoute
Code: Tout sélectionner
if(is_null($package)) {
         if($site->siteType == 'premium')
         {
            $this->set('showPackage','0');         
         }
      }   
      else {
         $this->set('showPackage','1');
         $this->set("package", $package);
      }

pratiquement, le script va chercher comment le site a été soumis en premium, Allopass ou paypal... comme on imagine, aucun des deux n'a été utilisé, ce qui nous donnait cette erreur.
On récupére donc la valeur null du package, et on décide de ne pas afficher la partie associée. ( showPackage = 0 )

On remplace a nouveau le tableau $fields qui devient
Code: Tout sélectionner
        $fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId",
                        "siteTitle", "url", "rssTitle", "rssFeedOfSite", "description",
                        "returnBond", "status", "problemExists", "priority",
                        "visitsCount", "referrerTimes","siteType",'paymentStatus');


Ici, on a rajouté l'élément paymentStatus de la table site.
et juste en dessous , on rajoute
Code: Tout sélectionner
      /*** mis à jour du statut du paiement  ****/
   $this->request->paymentStatus = ($this->request->siteType == 'premium' )  ? 'paid'  : '';
      


Si le site est passé en premium, on met le status du paiement a payé, en basic, il est nul.

Dans le template associé ( admin/templates/arfooo/site/edit.tpl )
on remplace
Code: Tout sélectionner
<tr>
    <td>{'siteEdit_website_payment_detail'|lang}:</td>
    <td>
{if $site.siteType == "basic"}
{'siteEdit_payment_free'|lang}
{else}
{'siteEdit_payment_premium'|lang} - {$package.name} - {$site.paymentProcessorName} <br/>
{'siteEdit_payment_status'|lang} : {switch from=$site.paymentStatus}
{case value="pending" }{'siteEdit_payment_status_pending'|lang}
{case value="denied" }{'siteEdit_payment_status_denied'|lang}
{case}{'siteEdit_payment_status_paid'|lang}
{/switch}
{/if}</td>
</tr>


par
Code: Tout sélectionner
<tr>
    <td>{'siteEdit_website_payment_detail'|lang}:</td>
    <td>
{if $site.siteType == "basic"}
{'siteEdit_payment_free'|lang}
{else}
{'siteEdit_payment_premium'|lang} -
{if $showPackage == '1' }
{$package.name} - {$site.paymentProcessorName} <br/>
{else}
  Modifier par l'admin
{/if}
{'siteEdit_payment_status'|lang} : {switch from=$site.paymentStatus}
{case value="pending" }{'siteEdit_payment_status_pending'|lang}
{case value="denied" }{'siteEdit_payment_status_denied'|lang}
{case}{'siteEdit_payment_status_paid'|lang}
{/switch}
{/if}</td>
</tr>


Ce qui se traduit, si un site premium a été soumis normalement, on affiche la méthode de paiement sinon, on dit que c'est l'administrateur qui a fait sa mise à jour.

Merci pour avoir signaler ces petites erreurs, je tenterai de faire des corrections le plus tôt possible si nécessaire.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Modifier le type de soumission d'un site via votre admin

Messagede Bodyboard » Jeu 11 Nov 2010 12:16

Bon apparemment ça marche, j'ai pas encore validé de site avec la modif mais je suis confiant.

Merci pour ton tuto et ton aide Angra-Mainyu.. ;)
Bodyboard
 
Messages: 93
Inscription: Mer 4 Mar 2009 10:14
Localisation: Toulouse

Re: Modifier le type de soumission d'un site via votre admin

Messagede Angra-Mainyu » Jeu 11 Nov 2010 13:58

De rien, s'il y a un problème suffira de le signaler.
Pour le moment, je suis dans le formulaire de commentaire jusqu'au cou donc j'ai pas encore fait le tour d'Arfooo.
Au moins, ça m'aide à comprendre son fonctionnement et ça m'aidera à avancer un peu plus également :)
.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Modifier le type de soumission d'un site via votre admin

Messagede Sebouille » Jeu 7 Avr 2011 12:25

Salut à tous,

je me permets de "déterré" un peu ce topic qui m'a été d'une grande utilité ! Merci Angra-Mainyu !!! :)

J'aimerai savoir comment afficher (dans le cas de plusieurs offres de soumission payante), la valeur de packageId ?

merci de votre aide ;)
épicerie & épicerie-fine
--- Arfooo v2.0.2 // @ovh ---
Avatar de l’utilisateur
Sebouille
 
Messages: 119
Inscription: Lun 21 Fév 2011 04:45
Localisation: Sèvres

Suivante

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
cron