バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧画面のタイトル(取得カテゴリ名)「商品一覧」にしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
lw_ec
投稿日時: 2019/7/8 14:41
対応状況: −−−
新米
登録日: 2019/6/7
居住地:
投稿: 6
商品一覧画面のタイトル(取得カテゴリ名)「商品一覧」にしたい
[EC-CUBE] 2.13.5
[OS] Windows10
[PHP] PHP 5.6.40
[データベース] PostgreSQL 10.4
[ブラウザ] Google Chrome、Internet Explorer、Firefox
[導入プラグインの有無] 送料区分追加プラグイン、新着情報プラグイン
[カスタマイズの有無] テンプレートを使用(eccube-on-bootstrap3)

いつもお世話になります。開発初心者です。
管理画面とFTPを介してのみ作業できる(データベースにアクセスできない)状況で作業をしております。
いつものように初歩的な質問かとは思いますが、有識者の皆様のお力をお借りしたく、よろしくお願いいたします。


商品一覧画面で、それぞれカテゴリ名を取得し表示させています。
全商品一覧(カテゴリ指定なし)の際、「指定なし」と表示されるところを
「商品一覧」と表示させたく、以下の通り修正しました。
こちらのスレッドを参考にさせて頂いております。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=4953&forum=10

【tpl】
該当部分を <!--{$arrSearch.category|h}--> から以下に変更


<!--{if $arrProducts.category_id == 0}-->
 商品一覧 
<!--{else}--> 
 <!--{$arrSearch.category|h}--> 
<!--{/if}-->


【LC_Page_Products_List_Ex.php】

<?php
require_once CLASS_REALDIR . 'pages/products/LC_Page_Products_List.php';
class LC_Page_Products_List_Ex extends LC_Page_Products_List
{
    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init()
    {
        parent::init();
    }

    /**
     * Page のプロセス.
     *
     * @return void
     */
    function process()
    {
        parent::process();
    }
}

// 検索条件を画面に表示
// カテゴリー検索条件
if (strlen($_GET['category_id']) == 0) {
    $arrSearch['category'] = "指定なし";
}else{
    $arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", $arrCategory_id);
    $arrSearch['category'] = $arrCat;
}


// カテゴリーID
if (strlen($_GET['category_id']) == 0) {
    $arrSearch['category_id'] = "0";
}else{
    $arrCat = $conn->getOne("SELECT category_id FROM dtb_category WHERE category_id = ?", $arrCategory_id);
    $arrSearch['category_id'] = $arrCat;
}



結果、「商品一覧」とは表示されるようになりましたが、その他のカテゴリがエラーで表示できなくなりました。
エラーログを見ると、
$arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", $arrCategory_id);

この部分に関してSmartyのSyntaxErrorが返されています。(その前の処理まではコンパイルされていました)



どのように修正したらよいか教えていただきたく、よろしくお願い申し上げます。
shutta
投稿日時: 2019/7/8 19:37
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 商品一覧画面のタイトル(取得カテゴリ名)「商品一覧」にしたい
引用:

結果、「商品一覧」とは表示されるようになりましたが、その他のカテゴリがエラーで表示できなくなりました。
エラーログを見ると、

$arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", $arrCategory_id);

この部分に関してSmartyのSyntaxErrorが返されています。(その前の処理まではコンパイルされていました)


バージョンの違いのせいではないかと思いますが、
2.13.5なら、
$arrCategory_idの変数が存在して無さそうなので、

$arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", $this->arrSearchData['category_id']);

とかにしないといけないのではないでしょうか?


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

リゾート会員権(エクシブ等)の売買・仲介

lw_ec
投稿日時: 2019/7/9 12:45
対応状況: −−−
新米
登録日: 2019/6/7
居住地:
投稿: 6
Re: 商品一覧画面のタイトル(取得カテゴリ名)「商品一覧」にしたい
shutta 様
ご返答ありがとうございました。

頂戴したご返答で試してみましたが、
やはり同じ箇所で引っかかるようです。

phpでカテゴリidを呼び出しているからと、tpl部分を
$arrSearch.categoryではなく$arrProduct.category
の表示を試みたところ、該当行で下記エラーが表示されました。

 Fatal error(E_ERROR): Call to a member function getOne() on null on [/home/www.hogehoge.co.jp/~/LC_Page_Products_List_Ex.php(該当行)] 


nullが返ってきているのは、何かが探せないからデータがない、と言われているのでしょうか。。。。
468
投稿日時: 2019/7/9 14:28
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1818
Re: 商品一覧画面のタイトル(取得カテゴリ名)「商品一覧」にしたい
$conn->getOne(*****)
の記述の$connがnullなのだと思います。

$connは何が格納されているのでしょうか?
何処かで変数に代入していますか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は49,414名です
総投稿数は93,180件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1967
4
468
1818
5
yuh
1602
6
red
1342
7
umebius
1296
8
fukap
907
9
h_tanaka
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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