Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis débutant + dans zend.
Je n'arrive pas à réecrire l'adresse d'une image. J'utilise smarty et l'url-rewriting pour d'autres liens html mais là je bloque. Quoi que j'essaie, il me retourne inlassablement : cannot assemble. too few arguments ? Les seuls moments où j'arrive à le faire fonctionner est quand je n'utilise que les deux premiers arguments. J'utilise zf 1.11.8.
J'ai dans la vue
[lang=html] <img alt="{$view->translate("capture du jeu :")} {$jeux->getTitre()}_{$pos}" src="{captureEcran media=$capture->getMiniatureByDomaine($domaine)}" style="cursor:pointer; margin-left:5px; margin-right:5px; margin-top:10px" />
Dans plugins/smarty
[lang=php] /** * @var Zend_View_Helper_Url */ static protected $_urlHelper = null; /** * * @param array $urlOptions * @param string $name * @param boolean $reset * @param boolean $encode * @return string */ static public function url(array $urlOptions = array(), $name = null, $reset = false, $encode = true) { if (null == self::$_urlHelper) { self::$_urlHelper = new Zend_View_Helper_Url(); } return self::$_urlHelper->url($urlOptions, $name, $reset, $encode); } /** * * @param Mixed $params * @param Smarty_Internal_Template $smarty * @return String */ static public function captureEcran($params, Smarty_Internal_Template &$smarty) { $media = $params['media']; $jeu = Annuaire_Factory_Jeu::getJeuById((int)$media->getIdJeux()); if(!empty($media)) { $params['file'] = $media->getIdMedias(); $params['type'] = $media->getFormat(); if($media->getIdMediasOriginal() > 0) $params['miniature'] = true; else $params['miniature'] = false; } /*return self::img_generique( $params, 'capture/'.($params['miniature'] == true ? 'miniature' : 'original'), $smarty);*/ $tab = array('type'=> 'capture', 'taille'=>($params['miniature'] == true ? 'min' : 'img'), 'id'=> $media->getIdMedias(), 'titre' => self::valideChaine($jeu->getTitre()) ); echo self::url($tab, 'mediasCapture', true); }
Dans un routes.ini (dans lequel il y a plusieurs autres routes qui fonctionnent), suivant les informations donnés dans d'autres sujets, j'ai tenté de le placer totalement à la fin mais ça ne fonctionne pas mieux.
; Reecriture d'une capture routes.mediasCapture.type = "Zend_Controller_Router_Route_Regex" routes.mediasCapture.route = "(\w+)?/(\w+)?/(\w+)?-capture-(\w+)?.jpg" routes.mediasCapture.reverse = "%s/%s/%s-capture-%s.jpg" routes.mediasCapture.defaults.controller = "fiche" routes.mediasCapture.defaults.action = "capture1" routes.mediasCapture.map.1 = "type" routes.mediasCapture.map.2 = "taille" routes.mediasCapture.map.3 = "idMedia" routes.mediasCapture.map.4 = "titreJeu"
Merci d'avance de l'aide que vous pourrez m'apporter.
Dernière modification par erestrebian (04-10-2011 11:10:10)
Hors ligne
Quand on regarde bien, les noms ne sont pas les mêmes (idMedia et id ET titreJeu et titre). Voilà ce qui faisait planter.
Hors ligne
Pages: 1