Zend Framework 2 内の PHP コードから HTML 要素を分離しようとしていますが、この問題を解決する方法や分離する方法についての手がかりがありません。現在、これらの HTML 要素をエコーしています。しかし、HTML 要素をエコーする代わりに、HTML を PHP から分離する方法が必要です。
現時点では、このヘルパーがツリーマップで提供されている限り、他のモジュールでもこのツリーマップを生成できるようにするビューヘルパーを作成しました。categoryTreeMap には、カテゴリ (Doctrine 2 ORM) オブジェクトのツリーマップが含まれています。
これは私がこれまでに得たものです:
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
class CategoryTreeMapHelper extends AbstractHelper
{
public function __invoke($categoryTreeMap)
{
echo "<ol class=\"sortable\">";
foreach ($categoryTreeMap as $category) {
$this->showCategories($category);
}
echo "</ol>";
}
public function showCategories($category)
{
echo "<li><div>" . $category->name . "</div>";
if (isset($category->childs)) {
echo "<ol>";
foreach ($category->childs as $child_category) {
$this->showCategories($child_category);
}
echo "</ol>";
}
echo "</li>";
}
}
PHPエコーからHTMLを分離することにより、これを解決する方法に関する提案。