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