バージョン選択

フォーラム

メニュー

オンライン状況

53 人のユーザが現在オンラインです。 (39 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 53
もっと...

サイト内検索

質問 > 管理機能 > 商品一覧画面に検索項目を追加したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
r_yamada
投稿日時: 2024/9/18 11:59
対応状況: −−−
常連
登録日: 2024/9/2
居住地:
投稿: 39
商品一覧画面に検索項目を追加したい
[EC-CUBE]4.3、新規インストール
[レンタルサーバ]ローカル環境
[OS]windows10
[PHP]8.3.11
[データベース]mysql8.0
[WEBサーバ]DockerDesktop4.33.1(Ubuntu)
[ブラウザ]chrome
[導入プラグインの有無]なし
[カスタマイズの有無]なし
[現象]
お世話になっております。
商品登録画面にてジャンルという項目(値はプルダウンでdtb_tagを参照している)を登録できるよう改修し、
商品一覧画面にその項目を検索できるよう同じくプルダウンで検索フォームを作成したのですが
検索時の抽出が上手くいかず、何が誤っているのかご教示いただけないでしょうか。
dtb_productテーブルにはtag_idという項目が追加されており、登録画面で登録したタグの番号が入力されています。
また$searchData['tag']も値が入っております。

・ProductRepositoryExtension.php(該当部)
// genre
if (!empty($searchData['tag']) && $searchData['tag']) {
$qb
->innerJoin('p.ProductTag', 'pt')
->andWhere('pt.id = :id')
->setParameter('id', $searchData['tag']);
}

・SearchProductTypeExtension.php(該当部)
$builder->add('tag', EntityType::class, [
'class' => Tag::class,
'placeholder' => 'common.select__all_products',
'required' => false,
'label' => 'admin.product.genre'
]);

・ProductTrait.php(該当部)
/**
* @var \Eccube\Entity\Tag
*
* @ORM\ManyToOne(targetEntity="Eccube\Entity\Tag")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="tag_id", referencedColumnName="id")
* })
*/
private $Tag;

/**
* Set $tag.
*
* @param \Eccube\Entity\Tag|null $tag
*
* @return Product
*/
public function setTag(Tag $tag = null)
{
$this->Tag = $tag;

return $this;
}

/**
* Get $tag.
*
* @return \Eccube\Entity\Tag|null
*/
public function getTag()
{
return $this->Tag;
}

・product.twig(該当部)
<div class="row">
<div class="col-3">
<div class="d-inline-block">
<span> {{ 'admin.product.genre'|trans }}</span>
</div>
</div>
<div class="col mb-2">
<div>
{{ form_widget(form.tag) }}
{{ form_errors(form.tag) }}
</div>
</div>
</div>

・ProductTypeExtension.php(該当部)
$builder->add('tag', EntityType::class, [
'class' => Tag::class,
'label' => 'admin.product.genre'
]);
tattsu
投稿日時: 2024/9/18 12:13
対応状況: −−−
仙人
登録日: 2023/12/23
居住地:
投稿: 418
Re: 商品一覧画面に検索項目を追加したい
引用:
$qb
->innerJoin('p.ProductTag', 'pt')
->andWhere('pt.id = :id')
->setParameter('id', $searchData['tag']);
}


ProductTagのidを検索してもだめです。

検索すべきは、pt.idではなくpt.Tag p.Tagですね。


----------------
-------------------

各決済会社3Dセキュア実装・EC-CUBEカスタマイズ・不具合修正
お任せください。ゴールドパートナー。

tattsu
投稿日時: 2024/9/18 12:25
対応状況: −−−
仙人
登録日: 2023/12/23
居住地:
投稿: 418
Re: 商品一覧画面に検索項目を追加したい
元々あるタグではなく新しく作った項目なんですね。

でしたら上の私のコメントも間違いで、
pt.idでもpt.Tagでもなく、p.Tagが検索対象かと思われます。


----------------
-------------------

各決済会社3Dセキュア実装・EC-CUBEカスタマイズ・不具合修正
お任せください。ゴールドパートナー。

r_yamada
投稿日時: 2024/9/18 13:53
対応状況: 解決済
常連
登録日: 2024/9/2
居住地:
投稿: 39
Re: 商品一覧画面に検索項目を追加したい
tattsu 様
ご回答ありがとうございます。
p.Tagで解決いたしました。
productTraitで追加したからpt.Tagではなく、p.Tagということですね。
ご対応ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は108,513名です
総投稿数は112,738件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2336
5
umebius
2085
6
h_tanaka
2025
7
yuh
1900
8
mcontact
1735
9
red
1583
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.