Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【EC-Cube3】トップページに新着情報を自動表示する

【EC-Cube3】トップページに新着情報を自動表示する

EC-Cubeで、トップページのテンプレートに、無理やり新着情報を自動表示させる方法です。一般的には、おそらくブロックで行うのですが、今回は、トップページのテンプレートに直接処理を記述したい、と考えました。

まずは、index.twigに、NewsList表示用のタグを埋め込みます。
index.twigの好きな場所に、NewsListのタグを配置:
{% for News in NewsList %}
<dl>
<dt>
<span class="date">{{ News.date|date("Y/m/d") }}</span>
<span class="news_title">
{{ News.title }}
</span>
{% if News.comment or News.url %}
<span class="angle-circle"><svg class="cb cb-angle-down"><use xlink:href="#cb-angle-down" /></svg></span>
{% endif %}
</dt>
{% if News.comment or News.url %}
<dd>{{ News.comment|raw|nl2br}}
{% if News.url %}<br>
<a href="{{ News.url }}" {% if News.link_method == '1' %}target="_blank"{% endif %}>
詳しくはこちら
</a>{% endif %}
</dd>
{% endif %}
</dl>
{% endfor %}


これだけだと、index.twig内では表示できないので、
src/Eccube/Controller/TopController.phpを開いて、
下記のように編集します。

public function index(Application $app)
{
$NewsList = $app['orm.em']->getRepository('\Eccube\Entity\News')
->findBy(
array(),
array('rank' => 'DESC')
);

return $app->render('index.twig', array(
'NewsList' => $NewsList,
));

// return $app->render('index.twig');
}

この記事の最終更新日:2018/02/22
最初に記事を書いた日:2018/02/22

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【EC-Cube3】トップページに新着情報を自動表示する