He estado tratando de usar el helper link_to en un "ui_link_button"
sin embargo no he podido. Omar -quien es el creador del plugin-
realiza un ejemplo pero usando el helper url_for.
¿Alguien sabe si se puede usar el helper "link_to" en el parametro
"url" del "ui_link_button"?
Este es mi codigo, lo que intento es que través de una función me
devuelva el botón (que realiza la acción de editar un objeto).
public function EnlaceEditar($object, $params)
{
return ui_link_button(array(
'icon' => $params['icon'], // ui-icon-<newwin>
'align' => $params['align'], // (left| rigth)
'title' => $params['title'],
//'noTitle' => true, // (<false> | true)
'corner' => $params['corner'], // (<all> |left|
rigth)
//'state' => 'disabled', // (<enable> | disabled)
//'target' => '_top', // (<_self> | frame id | _blank,
_top, _parent)
//'priority' => 'primary', // (<primary> | secondary )
//'show' => true, // (<true> | false)
'url' => link_to($params['value'], $this->getUrlForAction
('edit'), $object),
'value' => $params['value'],)
);
}
Este es el resultado del enlace, evidentemente no funciona:
"http://escolaweb/frontend_dev.php/<a href="
Saludos y gracias.
no veo para que quieres usar link_to dentro de ui_link_button .... lo
maximo que podrias usar seria url_for()...
Explicame mas o menos para que necesitas link_to a ver si te
entiendo....
Tambien veo en tu codigo que estas colocando cosas de la vista en el
controlador.... mi consejo es que todo este tipo de helpers
ui_link_button, link_to etc.... debes tenerlos
en las vistas y no en los action ni en el modelo para que mantengas el
patrón MVC...
Mas adelante en nuestra pagina se colocaran ejemplos de la utilizacion
de estos plugins... por ahora solo estan los modulos de ejemplos
dentro de los plugins.
Saludos.
Omar Yepez
http://www.yepsua.com
Pues trataba de emular algunos métodos del Helper que crea el
generador (esto en la parte de administración).
Cuando tu generas un modulo de tipo administrador (backend) te crea
dos clases en el directorio lib del modulo:
BaseNombreModuloGeneratorConfiguration.class.php (archivo que contiene
la configuración del archivo generator.yml)
BaseNombreModuloGeneratorHelper.class.php (helper auxiliar del modulo)
Lo que intentaba era redefinir el método linkToEdit definido en la
clase sfModelGeneratorHelper.
abstract class BaseNombreModuloGeneratorHelper extends
sfModelGeneratorHelper
{
public function linkToEdit($object, $params)
{
return '<li class="sf_admin_action_edit">'.link_to(__($params
['label'], array(), 'sf_admin') . UIHelper::addIcon($params), $this-
>getUrlForAction('edit'), $object, $params['params']).'</li>';
}
}
Esto regresa un enlace con la ruta para editar el objeto en cuestión,
pero como puedes ver, genera la ruta a través de otro método
redefinido en la clase y este es:
public function getUrlForAction($action)
{
return 'list' == $action ? 'nombremodulo' : 'nombremodulo_'.
$action;
}
Entonces lo que pretendia era algo como esto: regresar un boton, en
lugar de un elemento de lista (li) definido en el método original.
public function LinkToEdit($object, $params)
{
return ui_link_button(array(
'icon' => $params['icon'], // ui-icon-<newwin>
'align' => $params['align'], // (left| rigth)
'title' => $params['title'],
//'noTitle' => true, // (<false> | true)
'corner' => $params['corner'], // (<all> |left|
rigth)
//'state' => 'disabled', // (<enable> | disabled)
//'target' => '_top', // (<_self> | frame id | _blank,
_top, _parent)
//'priority' => 'primary', // (<primary> | secondary )
//'show' => true, // (<true> | false)
'url' => link_to($params['value'], $this->getUrlForAction
('edit'), $object),
'value' => $params['value'],)
);
}
Por los ejemplos de tu plugin se usa url_for, y por eso era mi
necesidad de usar link_to.
Agrego que al seguir con la estructura que genera el Administrador,
supuse que no rompo con las reglas del patrón MVC ya que se trataba de
un método definido del Helper creado por el administrador y no de una
acción. Espero estar haciendo lo correcto.
FInalmente te comento que solo son pruebas, no es necesario que tenga
una solución, al menos no para tratar de resover esta necesidad, pero
si tu crees que podría ser util para un futuro lo dejo a tu
consideración.
Saludos y felicitaciones por las nuevas liberaciones de los plugins.
On 7 ene, 14:52, oyepez003 <oyepez...@gmail.com> wrote:
> En la opcion 'url' de ui_link_button colocas la url a donde quieres
> que valla tu aplicacion luego de dar click en el boton....
>
> no veo para que quieres usar link_to dentro de ui_link_button .... lo
> maximo que podrias usar seria url_for()...
>
> Explicame mas o menos para que necesitas link_to a ver si te
> entiendo....
>
> Tambien veo en tu codigo que estas colocando cosas de la vista en el
> controlador.... mi consejo es que todo este tipo de helpers
> ui_link_button, link_to etc.... debes tenerlos
> en las vistas y no en los action ni en el modelo para que mantengas el
> patrón MVC...
>
> Mas adelante en nuestra pagina se colocaran ejemplos de la utilizacion
> de estos plugins... por ahora solo estan los modulos de ejemplos
> dentro de los plugins.
>
> Saludos.
>
> Omar Yepezhttp://www.yepsua.com
donde esta el link_to() en el codigo ... ahi es donde vas a colocar
ui_link_button()... de igual forma siempre usa url_for().... ya que
link_to y url_for devuelven dos cosas distintas:
link_to() devuelve: <a href="la/url/de/tu/sitio">Click<a>
// que esto lo hace ui_link_button...
url_for() devuelve: la/url/de/tu/sitio
// que esto lo necesita ui_link_button
En un post comentamos que cuando lleguen los plugin a ser lo
suficientemente estables se creara un "Nuevo" plugin para la
generacion de modulos para el ORM Doctrine.... seria como hacer
symfony doctrine:generate-module
pero generando todas las vistas con estos plugins....
No queremos meternos con el generate:admin por que ya existe un plugin
que realiza esto:
http://www.symfony-project.org/plugins/sfAdminThemejRollerPlugin
sfAdminThemejRollerPlugin no lo hemos probado y no sabemos que tal se
comporte en las ultimas versiones de symfony pero la idea es no
reinventar la rueda al menos que pase como nos paso con
sfJQueryReloadedPlugin.....
Gracias a ti y a todas las personas que prueben el plugin saben que
cualquier duda o sugerencia pueden hacerla en este grupo
o envienme un correo...
Saludos.
Omar Yepez
http://www.yepsua.com