質問 > その他 > 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yoshiaki |
投稿日時: 2016/6/23 13:33
対応状況: 解決済
|
半人前 登録日: 2016/6/22 居住地: 投稿: 11 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい あ、すみません。
なんとか大丈夫そうでした。 ご迷惑おかけしました。 ありがとうございました。 |
yoshiaki |
投稿日時: 2016/6/23 13:30
対応状況: −−−
|
半人前 登録日: 2016/6/22 居住地: 投稿: 11 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい 別のに詰めて、作ったやつにマージして
って感じでやればよかったんですね これ、受注検索のとこでも使うことって可能なのでしょうか? SearchOrderType.phpでは $appがまず定義されてないようなので、 定義しないといけないのかと思いますが |
nyorai |
投稿日時: 2016/6/23 12:13
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい $array = array();
for ($i = 0; $i < count($categories); $i++) { $path = $categories[$i]->getPath(); $array = array_merge($array, $path); } これでどうでしょう。 |
yoshiaki |
投稿日時: 2016/6/23 11:50
対応状況: −−−
|
半人前 登録日: 2016/6/22 居住地: 投稿: 11 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい $array_id = array();
for ($i = 0; $i < count($categories); $i++) { $category[$i] = array_merge($categories[$i]->getPath()); $ca = array_merge($array_id,$category[$i]); //カテゴリID } これで、大丈夫なのかなーと思っていましたが まだうまく表示されません。 foreachのが望ましいようですが、foreachがまだいまいち理解できていないためとりあえずforでも大丈夫そう?なのでforで組もうと考えています。 |
nyorai |
投稿日時: 2016/6/22 18:18
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい forではなくforeachのほうが望ましいです(間違いではないです)
array_mergeの使い方が間違っているので、PHPマニュアル参考にしてみてください。 http://php.net/manual/ja/function.array-merge.php |
yoshiaki |
投稿日時: 2016/6/22 18:06
対応状況: −−−
|
半人前 登録日: 2016/6/22 居住地: 投稿: 11 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい for ($i=0;$i<count($category);$i++) {
$cate = $category[$i]->getPath(); $ca = array_merge($cate); } このようにするところまでは理解ができました。 しかし、上書きされてしまうようですね 複数の親カテゴリ(配列に複数の結果)がある場合 後の方しか取得できません。 また、 $ca = array_merge($category[0]->getPath(), $category[1]->getPath()); このようになった際に、うまく表示されていました。 追記 for ($i=0;$i<count($category);$i++) { $cate = $category[$i]->getPath(); $ca[] = array_merge($cate); } このようにしたら、入ったのですが 配列の番号でしょうか 0 ┗Aカテゴリ ┗店舗A 1 ┗Bカテゴリ ┗店舗A のようになってしまいましたね… |
nyorai |
投稿日時: 2016/6/22 17:37
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい > Error: Call to a member function getPath() on array
> この場合は、配列のまま使用してしまっていることが原因なのでしょうか? はい、そうですね。 とりあえず$categoryや、$category[0]->getPath()の結果をdumpしてみたりすればイメージつきやすいと思います。 |
yoshiaki |
投稿日時: 2016/6/22 17:06
対応状況: −−−
|
半人前 登録日: 2016/6/22 居住地: 投稿: 11 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい red様、nyorai様
ありがとうございます。 getPathなのですが、 先ほどのですと、$categoryにカテゴリのエンティティを取得したため $ca = $category->getPath(); でよいのかなーと思ったのですが Error: Call to a member function getPath() on array この場合は、配列のまま使用してしまっていることが原因なのでしょうか? |
nyorai |
投稿日時: 2016/6/22 16:37
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい > 同じクラス内、$builderよりも前で定義を行い、
> $builder内カテゴリの部分で > choiceを行う認識であっているでしょうか? はい、それで大丈夫です。 > $category = $em->getRepository(\Eccube\Entity\Category)->findBy('name'=>$name);←52行目 findByの引数は配列で渡す必要があるので、findBy(array('name'=>$name)) が正しいですね。 |
red |
投稿日時: 2016/6/22 16:31
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1570 |
Re: 商品検索画面、商品登録画面、受注検索画面においてカテゴリを絞って表示させたい Parse Error: syntax error, unexpected '=>' (T_DOUBLE_ARROW)
と書いてありますよ? 配列じゃないのに=>を使っているのが原因です。
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |