質問 > フロント機能 > 注文履歴ニューを非表示にしたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
start |
投稿日時: 2020/5/29 21:48
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
注文履歴ニューを非表示にしたい 注文履歴がない場合は「MyPage」の注文履歴メニューを非表示にしたいですがどうやって実装すれば出来ますでしょうか。EC Cube4に詳しい方が教えて頂きませんか。
▼テンプレート [EC-CUBE] EC-CUBEのバージョン、新規インストールかアップデートか、等 [レンタルサーバ] レンタルサーバ名 [OS] 使用しているOS名、バージョン [PHP] 使用しているPHPのバージョン [データベース] 使用しているDB名、バージョン [WEBサーバ] 使用しているWEBサーバ名、バージョン [ブラウザ] 使用しているブラウザ名、バージョン [導入プラグインの有無] あれば導入プラグインを記載 [カスタマイズの有無] あればカスタマイズ内容を記載(できるだけ具体的に) [現象] 再現手順や、どのような現象が発生しているかなど、具体的に |
468 |
投稿日時: 2020/6/1 8:53
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 注文履歴ニューを非表示にしたい テンプレートに注文件数が0かどうかの判定を追加すれば対応できるのではないでしょうか?
デフォルトだとテンプレートファイルは以下のファイルになるかと思います。 /src/Eccube/Resource/template/default/Mypage/navi.twig 以下のような条件で判定できるのではないでしょうか? {% if app.user.Orders|length > 0 %} {% endif %}
|
start |
投稿日時: 2020/6/1 11:49
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 注文履歴ニューを非表示にしたい ありがとうございました。Orderでできました。自分で追加したdtb_myorderテーブルにデータがない場合は「自分注文」メニューを非表示にしたい場合はどうしますか。
|
468 |
投稿日時: 2020/6/1 15:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 注文履歴ニューを非表示にしたい dtb_myorderテーブルのデータはCustomerEntityとリレーションを繋げられていますか?
繋げているのであれば、 app.userはログインユーザーのCustomerエンティティを返していると思いますので Orderと同じようにメソッドを利用して取得できると思います。
|
start |
投稿日時: 2020/6/1 16:43
対応状況: −−−
|
一人前 登録日: 2017/11/9 居住地: 投稿: 109 |
Re: 注文履歴ニューを非表示にしたい Customer Entityに下記のように書きました。
/** * @var \Doctrine\Common\Collections\Collection * * @ORM\OneToMany(targetEntity="Customize\Entity\Myorder", mappedBy="Customer") */ private $Myorders; public function __construct() { $this->Myorders = new \Doctrine\Common\Collections\ArrayCollection(); } /** * Get myorders. * * @return \Doctrine\Common\Collections\Collection */ public function getMyorders() { return $this->Myorders; } ーーーーーーーーーーーーーーーーーーーーーーーーー twigでapp.user.Myorders|length したらエラーが発生しています。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |