質問 > フロント機能 > 最近購入したもの情報を取得したい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mutk |
投稿日時: 2021/5/11 17:46
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2021/4/26 居住地: 投稿: 14 |
Re: 最近購入したもの情報を取得したい 上記Orderの部分は自己解決しました!
ご回答ありがとうございました。 |
mutk |
投稿日時: 2021/5/11 15:44
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2021/4/26 居住地: 投稿: 14 |
Re: 最近購入したもの情報を取得したい ご返信ありがとうございます!
上記の通りの方法でエラーは解決いたしましたが twigでの {% for OrderItem in Order.MergedProductOrderItems %} という文章でエラーが出てしまいます。 Variable "Order" does not exist.(エラー文) controllerには use Eccube/Entity/Order; use Eccube/Repository/OrderRepository; などの必要そうな分は追記したのですがうまくいきません。 エラー内容をみてもこれといった解決方法も見つからない状況です。 ご教授いただけると幸いです。 |
umebius |
投稿日時: 2021/5/11 14:59
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 東京日本橋 投稿: 2085 |
Re: 最近購入したもの情報を取得したい 他のコントローラのファイルを見ると上の方にこういう行があると思います。 use Symfony\Component\HttpFoundation\Request; この記載を行うと使えるのではないでしょうか。 |
mutk |
投稿日時: 2021/5/11 14:56
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2021/4/26 居住地: 投稿: 14 |
Re: 最近購入したもの情報を取得したい 返信ありがとうございます!
conntorollerのtopcontrollerに追記してみたのですが public function index(Request $request, Paginator $paginator) おそらくこの部分がエラーになってしまいます。 Cannot determine controller argument for "Eccube\Controller\TopController::index()": the $request argument is type-hinted with the non-existent class or interface: "Eccube\Controller\Request". Did you forget to add a use statement? topページではrequestというのは使えないのでしょうか? |
umebius |
投稿日時: 2021/5/11 14:45
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 東京日本橋 投稿: 2085 |
Re: 最近購入したもの情報を取得したい {% set OrderItem = repository('Eccube\\Entity\\OrderItem').getList() %}
というのはOrderItemRepositoryにgetListメソッド存在しないので使えないと思います。 この辺りなら参考になると思いますが、 https://github.com/ec-cube/EC-CUBE/blob/4.0.5/src/Eccube/Controller/Mypage/MypageController.php#L145-L175 なんにせよtwigテンプレートだけでやるにはちょっと複雑かもしれないですね。 できないことはないと思いますが。
|
mutk |
投稿日時: 2021/5/11 14:37
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2021/4/26 居住地: 投稿: 14 |
最近購入したもの情報を取得したい ▼テンプレート
[EC-CUBE] 4.0.5 トップページにログイン状態のとき最近購入したものを スライドショーで表示したいのですが、マイページで取得できている 購入したもの一覧を取得できません。 {% if is_granted('ROLE_USER') %}{# ログイン中 #} {% set OrderItem = repository('Eccube\\Entity\\OrderItem').getList() %} {% for OrderItem in Order.MergedProductOrderItems %} <div class="recentlyPurchased__sliderComponent__holder__itemSlider__eachSlide"> <div class="p-item p-item_type01"> <a href="{{ url('product_detail', {'id': Product.id}) }}" class="p-item__anchor"> <div class="p-item__anchor__fig"> <img src="{{ asset(OrderItem.Product.MainListImage|no_image_product, 'save_image') }}" alt=""> </div> <div class="p-item__anchor__status"> <div class="p-item__anchor__status__name">{{ OrderItem.product_name }}</div> </div> </a> </div> </div> {% endfor %} {% else %} マイページの文を引用しているのですが、controllerでの追記で必要な場所や正しい記述方法があれば ご教授願えないでしょうか? よろしくお願いします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |