バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > カテゴリ毎のトップコンテンツ表示

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
AMUAMU
投稿日時: 2009/7/31 23:28
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: カテゴリ毎のトップコンテンツ表示
265行目の//の前、266行目のif前と、{の後に「 」全角スペース入ってますよね

これが問題でしょうね
全角スペースは入れないように。
全角スペースが目で判別できるエディターを使いましょう


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

illfrog300
投稿日時: 2009/7/31 20:37
対応状況: −−−
一人前
登録日: 2009/5/4
居住地:
投稿: 106
Re: カテゴリ毎のトップコンテンツ表示
AMUAMU様ご返答有り難うございます。

いじくっているうちに、その行はクリアし次は266行目にひっかかってしまいました;


[error] [client 114.161.149.102] PHP Parse error: syntax error, unexpected T_STRING in /var/www/html/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php on line 266, referer: http://creationme.com/admin/products/class.php

先ほどとは違うunexpected T_STRINGとなっていますが
調べましたところunexpected T_VARIABLEと変わらない原因かと判断しているのですがどうなのでしょうか?

// 入力データを渡す。
$sqlval = $this->objFormParam->getHashArray();
$sqlval['create_date'] = "Now()";
$sqlval['update_date'] = "Now()";
$sqlval['creator_id'] = $_SESSION['member_id'];
$sqlval['parent_category_id'] = $parent_category_id;
$sqlval['rank'] = $rank;
$sqlval['level'] = $level;

    //追記:親の設定を引き継ぐ時
    if($sqlval['info_flg']) { ←266行目
$sqlval['category_info'] = $this->lfGetParentInfo($objQuery, $parent_category_id);
}
// INSERTの実行
$objQuery->insert("dtb_category", $sqlval);

$objQuery->commit(); // トランザクションの終了
}

// カテゴリの編集
function lfUpdateCat($category_id) {
$objQuery = new SC_Query();
// 入力データを渡す。
$sqlval = $this->objFormParam->getHashArray();
$sqlval['update_date'] = "Now()";
$where = "category_id = ?";
AMUAMU
投稿日時: 2009/7/31 20:29
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: カテゴリ毎のトップコンテンツ表示
> PHP Parse error: syntax error, unexpected T_VARIABLE in

のエラーのありがちなパターンですが、

・全角空白がコード中にはいっている
・{}()などのかっこ、""や''の閉じ忘れ
・;の書き忘れ

が、あります。

問題は表示されているエラー行より前で発生している場合が多いと思います(ずっと前の行の場合もあり)。
コード全体を上から順に確認してみるのをオススメします。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

illfrog300
投稿日時: 2009/7/31 20:06
対応状況: −−−
一人前
登録日: 2009/5/4
居住地:
投稿: 106
Re: カテゴリ毎のトップコンテンツ表示
横から失礼致します。
本スレで出ていました管理画面>カテゴリ管理画面が真っ白になる
というエラーにまさに直面しているのですが、
ログを確認しましたところ、

[Fri Jul 31 19:54:26 2009] [error] [client 114.161.149.102] PHP Parse error: syntax error, unexpected T_VARIABLE in /var/www/html/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php on line 112, referer: http://creationme.com/admin/products/upload_csv_category.php

と、LC_Page_Admin_Products_Category.phpの112行目に問題があるということでなのですが、何度見直しましても答えがわからなく
お力添えを頂けますでしょうか;

前後のコードは下記となっています。

case 'pre_edit':
// 編集項目のカテゴリ名をDBより取得する。
//$oquery = new SC_Query();
$objQuery = new SC_Query(); ←112行目
$where = "category_id = ?";
//$cat_name = $oquery->get("dtb_category", "category_name", $where, array($_POST['category_id']));
$col = "category_name, category_info, info_flg, level";
$arrRet = $objQuery->select($col, "dtb_category", $where, array($_POST['category_id']));
// 入力項目にカテゴリ名を入力する。
//$this->arrForm['category_name'] = $cat_name;
$this->arrForm['category_name'] = $arrRet[0]['category_name'];
$this->arrForm['category_info'] = $arrRet[0]['category_info'];
$this->arrForm['info_flg'] = $arrRet[0]['info_flg'];
$this->arrForm['level'] = $arrRet[0]['level'];

環境=======
バージョン:2.4.0
postgresql:7.4
seasoft
投稿日時: 2009/3/30 10:24
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: カテゴリ毎のトップコンテンツ表示
ちょっと調べて見たら、こんなのありました。
http://www.smarty.net/manual/ja/language.function.eval.php


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

DDR
投稿日時: 2009/3/30 6:26
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリ毎のトップコンテンツ表示
いつもお世話になります

私が考えていた予想を遥かに上回っているんですね

単純にパラメーター設定にある
TPL_DIRなどの定数が使えるようになればと思っていたのですが
そういう訳にはいかないのですね

<!--{$smarty.const.SITE_URL}-->などの予約変数なども
使いたかったのですが


なぜ、新規作成したブロックなどではphp_pathを指定してやらなくても
<!--{$smarty.const.SITE_URL}-->や<!--{$TPL_DIR}-->などが
使えるのかな?と、この理屈をcategory.php?などに追加してやれば使えるのかと単純に考えていたのですが、違うようですね;;

ちなみに画像のURLはこんな風になってました
<http://ドメイン/products/%3C!--%7B$TPL_DIR%7D--%3E/test.jpg>
<!--{$TPL_DIR}-->が文字列になってるんですね
EC-CUBEでは<!--{$TPL_DIR}-->がsmartyになってるのが問題
になっているって事なんでしょうか?


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

seasoft
投稿日時: 2009/3/30 4:30
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7333
Re: カテゴリ毎のトップコンテンツ表示
Smarty で処理するルーチンを用意するというのがストレートかもしれませんが、やりたいことに対して規模が大きくなりそうなので、別解を・・・

*.php か *.tpl で、文字列「<!--{$TPL_DIR}-->」を定数「TPL_DIR」に置換するように処理すれば良いと思います。

しかし、文字列「<!--{$TPL_DIR}-->」は、Smarty 変数と紛らわしいので、「%%TPL_DIR%%」などの方が無難かも。

preg_replace_callback 辺りを使えば、不特定の定数に対応させることもできそうですね。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

DDR
投稿日時: 2009/3/30 4:07
対応状況: −−−
仙人
登録日: 2008/6/21
居住地: 大阪
投稿: 307
Re: カテゴリ毎のトップコンテンツ表示
この機能で管理画面から登録する際の

説明を入力するフィールドに
<IMG src="<!--{$TPL_DIR}-->img/test.jpg">

のように記入したいのですが、どのようにしてやれば良いでしょうか?

今はAタグも画像も全て絶対パスで書いてます

これが出来れば、カテゴリ毎に検索する機能がかなり使えるようになるので宜しく御願いいたします


----------------
------------------------------------------------------------------------------------------
EC-CUBE 3.0.17
DBサーバー mariaDB
WEBサーバー apache (CentOS)
PHP 7.1
-----------------------...

ofusekai
投稿日時: 2008/12/9 12:26
対応状況: 解決済
新米
登録日: 2008/10/16
居住地: 大阪
投稿: 6
Re: カテゴリ毎のトップコンテンツ表示
すみません。
自己解決しました。
ofusekai
投稿日時: 2008/12/9 11:44
対応状況: −−−
新米
登録日: 2008/10/16
居住地: 大阪
投稿: 6
Re: カテゴリ毎のトップコンテンツ表示
「1. データベースのdtb_categoryテーブルに2つのフィールドを追加」
という部分がよくわからないのですが、どこから設定するのでしょうか?

EC-CUBE上からですか?それともphp等を編集するのでしょうか?
初心者で申し訳ありません…
(1) 2 3 4 5 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は75,051名です
総投稿数は104,353件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2085
6
yuh
1664
7
red
1535
8
h_tanaka
1189
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437
Copyright© EC-CUBE CO.,LTD. All Rights Reserved.