normalmente uso el Zend Framework y esto es algo que echo de menos en litio. Parciales. Hay un método de renderizado en la vista donde puedes usar 'elementos' que es lo más cercano que tengo.Parciales de litio
<?php $this->_render('element', 'form); ?>
Esto funciona, sin embargo, requiere que el archivo form.html.php está en la carpeta/views/elements. ¿Es posible dejar que busque en otro camino? Me gusta/views/users/entonces obtiene el archivo /views/users/form.html.php.
He intentado el siguiente, desde que me enteré de que el render method sí acepta un argumento opciones en donde se puede especificar una ruta. Así que hice un Helper para solucionar este problema.
namespace app\extensions\helper;
use lithium\template\TemplateException;
class Partial extends \lithium\template\Helper
{
public function render($name, $folder = 'elements', $data = array())
{
$path = LITHIUM_APP_PATH . '/views/' . $folder;
$options['paths']['element'] = '{:library}/views/' . $folder . '/{:template}.{:type}.php';
return $this->_context->view()->render(
array('element' => $name),
$data,
$options
);
}
}
Sin embargo, solo sigue buscando en la carpeta/view/elements, no en la ruta especificada.
¿Hay algo que estoy haciendo mal?
Como es habitual la solución es más simple/más fácil y menos intrusivo que viene a la mente. :) – Oerd
La clase de litio Media es una de sus características principales. Realmente es tan poderoso –