【EC-Cube3】トップページに新着情報を自動表示する
EC-Cubeで、トップページのテンプレートに、無理やり新着情報を自動表示させる方法です。一般的には、おそらくブロックで行うのですが、今回は、トップページのテンプレートに直接処理を記述したい、と考えました。
まずは、index.twigに、NewsList表示用のタグを埋め込みます。
これだけだと、index.twig内では表示できないので、
src/Eccube/Controller/TopController.phpを開いて、
下記のように編集します。
まずは、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 %}
{% 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');
}
{
$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
この記事をシェアする
関連記事
- ・【ECCube3】「メルマガを受け取る」のチェックボックスを作る方法
- ・【ECCube3】お届け日の最大日数を設定する
- ・【ECCube3】AmazonPayで、お届け日調整プラグインが機能しない時の対策
- ・【ECCube3】クロネコとGMOペイメントで、受注編集画面のGMO決済ボタンがエラーになる件
- ・【ECCube3】管理画面のログをちゃんとソートする方法
- ・【EC-Cube3】Amazonペイメントとクロネコペイメントの組み合わせで受注編集画面のエラーが出る件
- ・【ECCube3】EC-Cubeでキーワード検索を高速化する方法
- ・【EC-Cube3】商品詳細ページに在庫数を表示したり、計算できるようにする
- ・【EC-CUBE3】商品詳細ページだけH1タグの値を変える方法
- ・【EC-CUBE3】商品登録CSVの項目をプラグイン無しで変更する