バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > フロント機能 > カテゴリ毎に説明文と画像を作成

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
NADEMO
投稿日時: 2009/10/14 14:34
対応状況: −−−
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
カテゴリ毎に説明文と画像を作成
以前このフォーラムで話されていた題名ですが、私もやってみようと思い、カゴラボを見ながらやってみました。
管理画面は設定できているのですが、題名の下の説明文を入力するところが登録されません。
入力した後に登録ボタンを押してもデータが消えてしまうのです。
なぜでしょうか。

それと、CSSの設定なのですが、左に画像、右に詳細と楽天のような表示方法をとりたいのですが、products.cssの商品一覧に追加すればよいのでしょうか。そのときのタイトルは.category_infoでよいのでしょうか・・・。

初歩的な質問ですみません。

下記にはこの表記はどうしたらよいのかと悩んだ箇所を掲載します。たぶんここがおかしいはずです。

?/html/products/list.phpに追記
● 59行目辺り($objQueryの直下)
$objQuery = new SC_Query();
$objPage->category_info = $objQuery->get("dtb_category", "category_info", "category_id = ?", array($category_id));
$count = $objQuery->count("dtb_best_products", "category_id = ?", array($category_id));

と以上のようにブログでは指定してありましたが、私のlist.phpには59行もなく、objQueryの表記もありません。
なので上記3行を追加してみたのですが、反映されないみたいです。

ちなみに私のEC-CUBEはバージョン2.4.1です。

どなたかご教授願えませんでしょうか。

カゴラボのブログはここです


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

kishik
投稿日時: 2009/10/14 14:57
対応状況: −−−
仙人
登録日: 2009/4/3
居住地: 東京
投稿: 382
Re: カテゴリ毎に説明文と画像を作成
どこをどこまでやって、何はやっていないのかがよくわからない状態です。
○カゴラボの文章を読んで理解する
○その後に質問内容の見えない部分を推測する
というステップを踏まねばならず、回答をつけにくい状況だと思います。。

少し整理して、必要ならスレッドを分けて、再度書き直されてみるともっとレスが付きやすくなると思いますよ。


-----
カスタマイズ承ります
http://ec-cube-mall.jp/
http://ec-cube.ec-orange2.jp/
http://wiki.ec-orange2.jp/
NADEMO
投稿日時: 2009/10/14 15:33
対応状況: −−−
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
Re: カテゴリ毎に説明文と画像を作成
そうですね。
すみませんでした。

まず、カゴラボさんのブログに書いてあるように、
?データベースの追加
?/data/Smarty/templates/admin/products/category.tplの追記
?/html/admin/products/category.phpに追記
ここまでは終わっています。
管理画面でカテゴリ管理を確認したところ、形は出来ていました。
しかし、ここで説明文が登録されないという事態が起きたのです。
?〜?に関してはきちんと出来ていると思います。

?/html/products/list.phpに追記
この追記をしようとlist.phpを開けたら、ほとんど空の状態だったので、どこに追記??となってしまったのです。

このカゴラボさんのシステムは素晴らしいものだと思うので、是非取り入れたいのでよろしくお願いします。


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

NADEMO
投稿日時: 2009/10/14 15:39
対応状況: −−−
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
category.tplはこんな感じです
変更内容を載せます。まずはcategpry.tplです。

いかがでしょうか。

<!--▼画面右-->
<td width="428" valign="top">
<span class="red12"><!--{$arrErr.category_name}--></span>
<input type="text" name="category_name" value="<!--{$arrForm.category_name|escape}-->" size="30" class="box30" maxlength="<!--{$smarty.const.STEXT_LEN}-->"/>
<input type="submit" name="button" value="登録" onclick="fnModeSubmit('edit','','');"/><span class="red10"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span>

【ココから下です。】

<textarea name="category_info" cols="80" rows="10"><!--{$arrForm.category_info|escape}--></textarea><br />
<!--{if $arrForm.level != "1" && $arrForm.parent_category_id != "0"}--><input type="checkbox" name="info_flg" id="info_flg" value="1"<!--{if $arrForm.info_flg}--> checked="checked"<!--{/if}--> /><label for="info_flg" class="fs10n">親カテゴリの説明を引き継ぐ</label> <!--{/if}--><span class="red10"> (上限<!--{$smarty.const.LLTEXT_LEN}-->文字)</span>
 
【ここまでです。】

<table width="428" border="0" cellspacing="0" cellpadding="0" summary=" ">
<tr><td height="15"></td></tr>
</table>


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

NADEMO
投稿日時: 2009/10/14 15:47
対応状況: −−−
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
category.phpはこんな感じです。
/**
* Page のプロセス.
*
* @return void
*/
function process() {
$conn = new SC_DBConn();
$objView = new SC_AdminView();
$objSess = new SC_Session();
$objDb = new SC_Helper_DB_Ex();

// 認証可否の判定
SC_Utils_Ex::sfIsSuccess($objSess);
【中略】
case 'pre_edit':
// 編集項目のカテゴリ名をDBより取得する。
//$oquery = new SC_Query();//以下に変更
$oquery = new SC_Query();

$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']));

// 入力項目にカテゴリ名を入力する。
//$objPage->arrForm['category_name'] = $cat_name; //以下に変更
$objPage->arrForm['category_name'] = $arrRet[0]['category_name'];
$objPage->arrForm['category_info'] = $arrRet[0]['category_info'];
$objPage->arrForm['info_flg'] = $arrRet[0]['info_flg'];
$objPage->arrForm['level'] = $arrRet[0]['level'];

// POSTデータを引き継ぐ
$this->arrForm['category_id'] = $_POST['category_id'];
break;
case 'delete':
$objQuery = new SC_Query();
// 子カテゴリのチェック
$where = "parent_category_id = ? AND del_flg = 0";
【中略】

// 入力データを渡す。
$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']) {
$sqlval['category_info'] = IfGetParentInfo($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 = ?";
    //追記:親の設定を引き継ぐ時
if($sqlval['info_flg']) {
$sqlval['category_info'] = IfGetParentInfo($objQuery, $parent_category_id);
}

$objQuery->update("dtb_category", $sqlval, $where, array($category_id));
}

// カテゴリの取得
function lfGetCat($parent_category_id) {
$objQuery = new SC_Query();

if($parent_category_id == "") {
$parent_category_id = '0';
}

$col = "category_id, category_name, level, rank";
$where = "del_flg = 0 AND parent_category_id = ?";
$objQuery->setoption("ORDER BY rank DESC");
$arrRet = $objQuery->select($col, "dtb_category", $where, array($parent_category_id));
return $arrRet;
}

/* パラメータ情報の初期化 */
function lfInitParam() {
$this->objFormParam->addParam("カテゴリ名", "category_name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
$objFormParam->addParam("カテゴリ情報", "category_info", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));
$objFormParam->addParam("引き継ぎ", "info_flg", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
}

【中略】

// 追記:親のcategory_infoを取得する
function lfGetParentInfo($objQuery, $pid) {
$where = "category_id = ?";
$parent_info = $objQuery->get("dtb_category", "category_info", $where, array($pid));
return $parent_info;
}
?>


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

NADEMO
投稿日時: 2009/10/14 15:51
対応状況: −−−
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
list.phpはこんな感じです。
<?php
// {{{ requires
require_once("../require.php");
require_once(CLASS_EX_PATH . "page_extends/products/LC_Page_Products_List_Ex.php");

// }}}
// {{{ generate page

$objPage = new LC_Page_Products_List_Ex();
register_shutdown_function(array($objPage, "destroy"));
$objPage->init();
$objPage->process();

【当初はこの上部まででした】
【下記追記しました】
$objQuery = new SC_Query();
$objPage->category_info = $objQuery->get("dtb_category", "category_info", "category_id = ?", array($category_id));
$count = $objQuery->count("dtb_best_products", "category_id = ?", array($category_id));
?>


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

kishik
投稿日時: 2009/10/14 16:07
対応状況: −−−
仙人
登録日: 2009/4/3
居住地: 東京
投稿: 382
Re: list.phpはこんな感じです。
ソースを全部チェックしてほしい、という内容に見えてしまいますが。。
基本的にみなさんボランティアでの回答ですので、
もう少しご自分で原因を絞ってからご質問されるのがいいかと思います。

偉そうなことを書いてしまいまして、申し訳ありません。

またはカゴラボさんに直接お問合せ頂くといいかもしれません。

-----
カスタマイズ承ります
http://ec-cube-mall.jp/
http://ec-cube.ec-orange2.jp/
http://wiki.ec-orange2.jp/
NADEMO
投稿日時: 2009/10/14 16:14
対応状況: 解決済
常連
登録日: 2009/10/5
居住地: 品川
投稿: 50
Re: list.phpはこんな感じです。
そんなつもりはなかったのですが。

他の方法を試してみます。

この投稿はこれで削除します。
ありがとうございました。m(_ _)m


----------------
ホームページ作成は全てが始めてです。
プロの皆様のお力をお借りしたいです。
宜しくお願いします。

tao_s
投稿日時: 2009/10/14 21:42
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
Re: list.phpはこんな感じです。
ちょっと違いますが、dtb_categoryにカラム一個足して、カテゴリ毎にテンプレート自体を切り替えるカスタマイズをしてみました。

EC-CUBEの商品カテゴリ毎にテンプレートを切り替える

ご参考までに


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

homan
投稿日時: 2009/10/15 0:00
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: list.phpはこんな感じです。
カゴラボブログの持ち主です。
見てくださっているとよいのですが・・・
(登場が遅くて皆さんにご迷惑おかけいたしました。申し訳ありません)


> NADEMOさん

そのブログはEC-CUBE1系時代の物なので、
EC-CUBE2系のお話であれば以下の記事をご参照ください。

http://www.eccube-school.jp/products/detail43.html
(全てのページを見るには、無料の会員登録が必要です)

上記の記事はPostgreSQLを意識して書いていますので、
MySQLの場合は若干異なる可能性があります。
その辺の環境はどのようになっていますか?

日頃の業務の関係ですぐにお答できると断言できませんが、
私が書いた記事に関しての問合せは、
とりあえずEC-CUBEの学校の問合せフォームより投稿ください。
https://www.eccube-school.jp/contact/index.php


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

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


 



ログイン


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

統計情報

総メンバー数は89,231名です
総投稿数は110,052件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1651
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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