カテゴリー毎の文言用のモジュール

SOY Shopに関する話題はこちら。

カテゴリー毎の文言用のモジュール

投稿記事by masa58 on 2019年2月20日(水) 17:07

お世話になります。
soy cms version: 3.0.2p58
soy shop 1.18.2p120 です。

一覧ページで、カテゴリー毎の文言を返すモジュールを追加したのですが、上手く反応しません。
モジュールはSOY Shopマニュアルの通り下記のように記述しました。

<?php
$page = $htmlObj->getPageObject()->getObject();

if(!($page instanceof SOYShop_ListPage)){
return;
}

$category = $page->getCurrentCategory();
$name = ($category) ? $category->getName() : "";

switch($name){
case "カテゴリ1":
echo "カテゴリ1ですよ";
break;
case "カテゴリ2":
echo "カテゴリ2ですよ";
break;
case "カテゴリ3:
echo "カテゴリ3ですよ";
break;
default:
echo "ディフォルトです";
break;

}
?>

商品一覧ページへの記述も記述例の通り下記のようにしました。

<!-- shop:module="html.categorytext" -->
カテゴリー毎の文言のモジュールを読み込みます。
<!-- /shop:module="html.categorytext" -->

一覧ページには文言は返らず、下記の様な表示になってしまいます。

Notice: Undefined variable: page in /home/***/0/***/web/***/shop/.module/html/categorytext.php on line 8

Notice: Undefined property: item_list_page::$getPageObject in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 8

Notice: Undefined variable: page in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 10

Notice: Undefined variable: category in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 14

Notice: Undefined variable: page in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 14

Notice: Trying to get property of non-object in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 14

Notice: Undefined variable: name in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 15

Notice: Undefined variable: category in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 15

Notice: Undefined variable: category in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 15

Notice: Trying to get property of non-object in /home/users/0/***x/web/***/shop/.module/html/categorytext.php on line 15

Notice: Undefined variable: name in /home/users/0/***/web/***/shop/.module/html/categorytext.php on line 17
getObject(); if(!( instanceof SOYShop_ListPage)){ return; } = (); = () ? () : ""; switch(){ case "カテゴリ1": echo "カテゴリ1ですよ";
break; case "カテゴリ2": echo "カテゴリ2ですよ"; break; case "カテゴリ3: echo "カテゴリ3ですよ"; break; default: echo "ディフォルトです"; break; } ?>

phpが反応していないのでしょうか
ちなみにPHP 設定は 7.1(モジュール版)です。

よろしくお願いします
masa58
 
記事: 51
登録日時: 2013年6月18日(火) 11:10

Re: カテゴリー毎の文言用のモジュール

投稿記事by inunosinsi on 2019年2月21日(木) 02:31

モジュール作成の記述に誤りがあります。
参考にしたマニュアルのページのURLをお伝えくだされば、そのページに合わせて正しい記述をお伝えします。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 760
登録日時: 2008年6月12日(木) 20:48

Re: カテゴリー毎の文言用のモジュール

投稿記事by masa58 on 2019年2月21日(木) 09:27

参考にしたマニュアルは下記の通りです。

http://www.soyshop.net/manual/article/% ... 6%81PHP%5D
masa58
 
記事: 51
登録日時: 2013年6月18日(火) 11:10

Re: カテゴリー毎の文言用のモジュール

投稿記事by inunosinsi on 2019年2月21日(木) 14:17

コード: 全て選択
<!-- shop:module="html.categorytext" -->
カテゴリー毎の文言のモジュールを読み込みます。
<!-- /shop:module="html.categorytext" -->

コードで気になるのが、
shop:module="htmll.categorytext"になっていて、これはHTMLモジュールでPHPの記述は許可していません。

現在、標準機能ではPHPの記述ができるモジュールの使用は許可されていません。
下記のページを参考にして、PHPモジュールを有効にしてください。
SOY CMS/ShopでPHPモジュールに使用の制限を設けました - saitoddev.co
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 760
登録日時: 2008年6月12日(木) 20:48

Re: カテゴリー毎の文言用のモジュール

投稿記事by masa58 on 2019年2月21日(木) 16:55

下記のページを参考にして、PHPモジュールを有効にしてください。
SOY CMS/ShopでPHPモジュールに使用の制限を設けました - saitoddev.co


上記のページの説明の通り
/CMSインストールディレクトリ/common/config/user.config.php.sampleをuser.config.phpにリネームして、

14行目  define("SOYCMS_ALLOW_PHP_SCRIPT",false);をtrueに変更してから管理画面にログインして、
Allow PHP Script: trueという表記を探しましたが見つかりません。

表示されていないということは、設定が完了していないということでしょうか。

管理画面のページ一覧 モジュール管理 HTMLモジュール一覧は表示されますが、新規作成でモジュールID、モジュール名を入れ作成をクリックしても反応はしません
masa58
 
記事: 51
登録日時: 2013年6月18日(火) 11:10

Re: カテゴリー毎の文言用のモジュール

投稿記事by inunosinsi on 2019年2月22日(金) 05:32

コード: 全て選択
define("SOYCMS_ALLOW_PHP_MODULE",true);

こちらの対応も必要です。

SOY CMS/ShopでPHPモジュールに使用の制限を設けました - saitodev.coの中盤あたりに説明があります。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 760
登録日時: 2008年6月12日(木) 20:48

Re: カテゴリー毎の文言用のモジュール

投稿記事by masa58 on 2019年2月22日(金) 09:22

define("SOYCMS_ALLOW_PHP_MODULE",true);

ご指摘の通り、上記の部分の記述変更がなされていませんでした。

無事、カテゴリー名毎に処理が表示されるようになりました。
ありがとうございました。
masa58
 
記事: 51
登録日時: 2013年6月18日(火) 11:10


Return to SOY Shop

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[4人]