Thông thường tôi sử dụng khung công tác Zend và đây là thứ tôi nhớ trong Lithium. Partials. Có một phương thức render trong khung nhìn nơi bạn có thể sử dụng 'elements' gần nhất.Partials in lithium
<?php $this->_render('element', 'form); ?>
Thao tác này yêu cầu tệp form.html.php nằm trong thư mục/views/elements. Có thể để cho nó tìm kiếm trong một con đường khác? Giống như/views/users/vì vậy nó nhận được tệp /views/users/form.html.php.
Tôi đã thử những điều sau, vì tôi phát hiện ra rằng render method chấp nhận một đối số tùy chọn trong đó bạn có thể chỉ định đường dẫn. Vì vậy, tôi đã thực hiện một người trợ giúp để khắc phục sự cố này cho tôi.
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
);
}
}
Tuy nhiên nó vẫn chỉ tìm kiếm trong thư mục/xem/yếu tố, không phải trong con đường tôi đã chỉ định.
Có điều gì tôi đang làm sai?
Như thường lệ, giải pháp đơn giản/dễ dàng hơn và ít xâm nhập hơn là đến với tâm trí. :) – Oerd
Lớp lithium Media là một trong những tính năng chính của nó. Nó thực sự là mạnh mẽ –