ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
検索キーワード:「バージョンアップ」
 

SOY ShopのPAY.JPクレジットカード支払モジュールでEMV3Dセキュアに対応しました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JPクレジットカード支払モジュールがEMV 3Dセキュア(3Dセキュア2.0)に対応しました。2025年3月末の導入義務化に伴う対応です。PAY.JPクレジットカード支払モジュールと定期課金モジュール利用者はSOY Shopのバージョンアップが必要です。定期課金モジュールのリダイレクト型は未対応のため、必要な場合は問い合わせを。最新パッケージはサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

SOY CMSの記事の検索でカスタムフィールドの項目の追加設定を設けました

/** Geminiが自動生成した概要 **/
SOY CMSの記事検索ページで、カスタムフィールドが多すぎると検索フォームが縦長になる問題を解決するアップデートがありました。 今回のアップデートにより、カスタムフィールドアドバンスドの各フィールドを検索項目に追加するかしないかを設定できるようになりました。 これにより、必要なフィールドだけを検索項目に表示させることができるため、検索フォームの縦長化を防ぎ、使い勝手を向上させることができます。 すでにカスタムフィールドアドバンスドを利用している場合は、アップデート後、各フィールドの検索項目への追加設定が必要となります。 アップデートパッケージはサイト(https://saitodev.co/soycms/)からダウンロードできます。

 

SOY Inquiry2.3以降のバージョンにバージョンアップする際の注意点

/** Geminiが自動生成した概要 **/
SOY Inquiry 2.3以降にバージョンアップする際、カスタマイズしたフォームテンプレート(`form.php`と`confirm.php`)の修正が必要です。 具体的には、両ファイルの先頭に`$dummyFormObj = new SOYInquiry_Form();`を追加し、`$column->getColumn();`を`$column->getColumn($dummyFormObj);`に置換します。 これはPHPの厳格化に対応するための変更です。

 

SOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しました

/** Geminiが自動生成した概要 **/
SOY ShopのGoogleログインプラグインが、Google Sign-In for WebsitesからSign In With Googleにアップデートされました。変更に伴い、HTMLタグやスクリプトを修正する必要があります。 以前は`googleUser.getBasicProfile()`でユーザー情報が取得できていましたが、現在はJWTが返却されるため、Base64デコードが必要です。`parseJwt`関数でJWTをデコードし、`json.email`でメールアドレスを取得します。 詳細はプラグイン詳細画面とサイト(saitodev.co/soycms/soyshop/)を参照してください。

 

SOY CMS / SOY ShopでファイルのアップロードをMIMEタイプで制限できる設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/SOY Shopで、ファイルアップロード時のMIMEタイプ制限設定が追加されました。ユーザー要望に応え、記事作成、テンプレート、elFinderからのアップロード時に、JavaScriptファイルの許可やPDFの禁止等が可能になります。従来のバージョンアップでカスタマイズが消える問題も解消。設定は、`/CMSインストールディレクトリ/common/config/upload.config.php.sample`を`upload.config.php`にリネームし、許可するMIMEタイプを`$mimetypes`配列に追加するだけです。最新パッケージはサイト(https://saitodev.co/soycms/)からダウンロード可能です。

 

SOY Shopで概要欄設置プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopユーザーからの要望を受け、管理画面に概要欄を設置するプラグインを開発しました。ユーザーは2名で、ほぼ同時期に要望がありました。管理画面左下に、簡易編集可能な概要欄を追加することで、ショップ運営に関する情報を手軽に共有できます。 以前開発したメモウィジェットではテキストリンクの自動クリックに対応できないため、今回のプラグインではリンクテキストを自動でアンカータグに変換する機能を追加しました。これにより、例えば新人研修用の資料へのリンクを概要欄に記載し、参照を促すことで教育コスト削減に繋がります。 プラグインはサイト(/soycms/soyshop/)でダウンロード可能なパッケージに含まれており、有効化することで利用可能です。UIは現状改善の余地がありますが、ご容赦ください。

 

SOY Board on SOY Shop

/** Geminiが自動生成した概要 **/
SOY Shop向け掲示板アプリプラグイン「SOY Board on SOY Shop」を開発中。顧客とマイページ機能を活用し、手軽に掲示板を設置できる。中小企業のWeb活用増加を背景に、古くからある掲示板の価値が見直されていると判断。既存のSOY Boardの改修が困難だったため、SOY Shop上に構築する形とした。PHP最新バージョンへの対応、多様なXML出力、HTML投稿を重視し、既存のOSSではなく独自開発を選択。特にXML出力は、サイトマップ登録や新着通知の細分化に活用予定。HTML許可によるXSS対策の難しさは課題。ローカル環境での動作確認推奨、試用時は新規ショップサイト作成必須。最新パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能。

 

SOY Shopで管理画面でSOY Shopらしさをなくす

/** Geminiが自動生成した概要 **/
SOY Shopでショップサイト以外を作成するケースが増加し、管理画面から「ショップ」の文字を削除したいというニーズに対応するため、管理画面のURLの「soyshop」部分を変更できる機能が追加されました。 設定方法は、`/CMSインストールディレクトリ/common/config/admin.uri.config.php.sample` を `.php` にリネームし、`define("SOYSHOP_ADMIN_URI", "soyshop");` の `soyshop` を任意の文字列に変更します。その後、ファイル内の指示に従って必要なディレクトリとファイルを作成し、キャッシュを削除すれば設定完了です。 この機能は最新のSOY CMSとSOY Shopのパッケージに含まれています。現状ではSOY Shopのみに対応しており、SOY CMS側は未対応です。

 

SOY InquiryでRCE(Remote Code Execution)の脆弱性に対応しました

/** Geminiが自動生成した概要 **/
SOY Inquiry 2.0.0.3以前のバージョンにリモートコード実行(RCE)の脆弱性が見つかりました。これは非常に危険な脆弱性であり、全ての旧バージョンが影響を受けます。早急に最新版へアップデートしてください。対応版は下記URLからダウンロード可能です。 https://saitodev.co/soycms/soyinquiry/

 

SOY Shop 2.0.0

/** Geminiが自動生成した概要 **/
非公式にメンテナンスされているSOY Shop 2.0.0βが公開されました。データベース構造は1系とほぼ変わらず、通常のバージョンアップ手順で適用可能です。主な変更点は、Bootstrapを使ったレスポンシブ対応の管理画面UIと、公開側ページの読み込み速度最適化です。後者は必要なクラスファイルのみを読み込むことでメモリ消費量を削減し、表示速度向上と同時アクセス耐性向上を実現しています。 HTMLキャッシュプラグインも同梱され、キャッシュ機能で更なるメモリ消費削減が可能です。ダウンロードはsaitodev.co/soycms/soyshop/ から。一部プラグインのUIはまだ2系に対応していませんが、順次修正予定です。

 

SOY Shop版HTMLキャッシュプラグインを追加しました

/** Geminiが自動生成した概要 **/
SOY Shop 2にHTMLキャッシュプラグインが追加され、高速化が可能になった。カートウィジェットの問題は非同期通信で解決し、カート内商品数と合計金額をJSONで取得できる。ヤマトリップショップではこの機能とLazyLoadプラグイン、jpegoptimにより、ページ表示速度が3.3秒から1秒以下になり、PageSpeed InsightsのスコアもPCで90を超えた。スマホは90に届かなかったが、Gueztliによる画像最適化で改善が見込まれる。SOY Shop 2正式版は近日公開予定。

 

SOY CMSとSOY Shopの管理画面でメモウィジェットを設置しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopの管理画面左下にメモウィジェットが追加されました。これは、VPSサーバ運用時にphp.iniの変更(例: memory_limit)を忘れがちで、バージョンアップ後に問題が再発するのを防ぐためです。例えば、大量の商品注文で配列オーバーフローエラーが発生した場合、memory_limitを128Mから1024Mに変更するなどの対応が必要ですが、この設定を忘れやすいという問題がありました. このウィジェットにより、設定変更などをメモとして残せるようになりました。アップデート版はsaitodev.coからダウンロード可能です。

 

SOY CMS内のTinyMCEでstyleタグを使用する

/** Geminiが自動生成した概要 **/
SOY CMSのTinyMCEエディタで<style>タグを使用するには、設定ファイル(/CMSインストールディレクトリ/soycms/js/editor/RichTextEditor.js)を編集する必要がある。`urlconverter_callback : common_convert_urls,`の後に`extended_valid_elements : "style",`と`valid_children : "+body[style]"`を追加することで、<style>タグが利用可能になる。 ただし、この方法は本体への直接編集となるため、バージョンアップの度に修正が必要となる。

 

SOY2HTMLで軽微なカスタマイズを加える為の機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/ShopのSOY2HTMLに、軽微なカスタマイズを容易にする隠し機能が追加されました。クラスファイルと同名のHTMLファイル名の頭にアンダースコア「_」を付けると、そのHTMLファイルが優先的に読み込まれます。これにより、プラグインのバージョンアップ時の上書きを回避できます。例えば、配送モジュールの文言変更など、PHP知識を必要とせず容易にカスタマイズできます。標準配送モジュールなら `delivery_normal/cart/_DeliveryNormalCartPage.html` を配置し、元のHTMLの内容をコピー・編集することで実現できます。SOY Shop 2系以降で利用可能、1系は `soy2_build.php` の修正が必要です。新パッケージはsaitodev.coからダウンロードできます。

 

SOY Shop 2.0.0 β

/** Geminiが自動生成した概要 **/
SOY Shop 2.0.0βでは、管理画面のUIをSOY CMS 3系に刷新。開発元の停滞を受け、非公式ながらバージョンアップを実施。拡張性向上のため、デザイン崩れを防ぐ3系テンプレートを採用した。標準機能のUI変更は完了し、プラグイン対応を進めている。現在はカスタムフィールド系、初期プラグイン、PAY.JP/Coiney決済プラグインが対応済み。今後、予約カレンダーや伝票管理プラグインへの対応を予定。データベース構造は変更なし。ダウンロードはsaitodev.co/soycms/soyshop/ から可能。管理画面のみ使用モードの追加により、ECサイト構築だけでなく、会員管理システムなど多様な用途にも対応できるようになった。

 

SOY InquiryでParsley.jsを利用する際のチェックボックスの対応

/** Geminiが自動生成した概要 **/
SOY InquiryでParsley.jsを使用する際のチェックボックス対応方法として、管理画面で「required」属性と「data-parsely-trigger」属性を追加します。これにより、Parsely.jsと連携し、フォーム送信時にチェックボックスが選択されていない場合にエラーメッセージが表示されます。対応済みのパッケージは公式サイトよりダウンロードできます。

 

SOY InquiryでGoogleのreCAPTCHA v3に対応しました

/** Geminiが自動生成した概要 **/
SOY InquiryがGoogle reCAPTCHA v3に対応しました。reCAPTCHA v3は、ユーザーの行動を分析してボットを判別する仕組みで、従来の文字入力やチェックボックス操作は不要です。SOY CMSのプラグインとして提供され、有効化するとサイト右下にreCAPTCHAロゴが表示されます。v3は学習ベースで精度が向上するため、初期は精度が低い可能性があります. 現時点ではJavaScript無効環境への対策は未対応です。最新版は公式サイトからダウンロード可能です。関連記事では、同一IPからの連続問い合わせをブロックする方法を紹介しています。

 

SOY CMSで自動ログインを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのバージョンアップ後、初期管理者でログイン・バージョンアップ手続き・ログアウトを行うと、ログインフォームに自動ログインチェックボックスが追加されるようになりました。この機能はバージョンアップの手間を軽減します。同梱パッケージはsaitodev.co/soycms からダウンロード可能です。

 

ご利用中の共有サーバのPHPのバージョンアップにご注意下さい

/** Geminiが自動生成した概要 **/
共有サーバーのPHPバージョンアップに伴い、サイトに予期せぬエラーが表示されるケースが増加しています。PHPのバージョンアップにより古いコードが非推奨となるため、例えばSOY Shopのサイトマッププラグインでエラーが発生するといった事態が起こりえます。 記事では、PHP 5.6 から 7.3 への変更による影響と、バージョンアップによるエラー発生の可能性について解説しています。例として挙げられたサイトマッププラグインのエラーは既に修正済みで、最新版のパッケージで対応可能です。 PHPのバージョンアップは今後も続くため、同様のエラー発生が予測されます。SOY CMSとSOY ShopもPHPのバージョンアップに対応したアップデートを提供しているので、最新版への更新を推奨しています。

 

SOY CMS / Shopのバージョンアップ時にキャッシュの自動削除機能を追加しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのバージョンアップ後、キャッシュ削除忘れによる不具合報告が相次いだため、自動削除機能が追加されました。バージョンアップで外部ファイルの読み込み箇所などが変更されると、古いキャッシュが残っているとJavaScriptが実行されないなどの問題が発生します。新機能では、管理画面を開いた際に古いキャッシュを自動で削除します。この機能を含む最新パッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY CMSで管理画面のログイン時のパスワードを忘れた場合の再設定

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面パスワードを忘れた場合、パスワードリマインダが有効でなければ使えません。有効化は必須です。パッケージを最新版に更新すると手順が簡略化されます。 パスワード無しでログインするには、AdministratorLogic.class.phpのlogin関数とcheckUserIdAndPassword関数に"return true;"を追加します。管理画面へのアクセス制限としてBasic認証を設定しておくのが安全です。 ログイン後、管理者情報ページを開くにはDetailPage.class.phpに初期管理者ID取得のコードを追加します。パスワード変更時はChangePasswordAction.class.phpでエラーチェックとパスワードチェックを無効化し、管理者IDを強制的に初期管理者に設定します。変更後はファイルを元に戻し、ログイン確認後、パスワードリマインダを有効化してください。

 

SOY Appの管理画面のUIのレスポンシブウェブデザイン対応

/** Geminiが自動生成した概要 **/
SOY CMS ASP版運営プラグインに続き、SOY AppのUIをSOY CMS 3系のレスポンシブウェブデザインに合わせました。これにより、SOY Shopサイトの新規作成画面、SOY Mail、SOY InquiryのUIがBootstrapベースのレスポンシブデザインで表示されます。SOY Appのバージョンアップ前にSOY CMSのバージョンアップが必要です。最新のパッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY CMSのブログで年毎に月別アーカイブのリンクを出力するブログブロックを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのブログで、長年の運用による月別アーカイブの増加でデザインが崩れる問題を解決するブログブロックが追加されました。従来の縦に長いアーカイブ表示を、年毎に折りたたみ可能な形式で出力します。 新しいブロック`b_block:id="archive_every_year"`は、`cms:id="year"`で年を、`cms:id="archive"`で各月のアーカイブリンクを生成し、年毎に異なるIDを割り当てます。これにより、jQuery等で年毎の折りたたみ表示を実装可能になります。表示例では2018年、2017年、2016年と年ごとに月別アーカイブをまとめて表示しています。新機能はパッケージに含まれ、サイト(https://saitodev.co/soycms/)からダウンロードできます。ただし、古いバージョンからのアップデートでは、ブログページ毎のブロック使用設定でarchive_every_yearを有効にする必要があります。

 

SOY ShopのPAY.JPクレジットカード支払いモジュールでカード情報非通過化対応をしました

/** Geminiが自動生成した概要 **/
SOY ShopのPAY.JPクレジットカード支払いモジュールがカード情報非通過化に対応しました。2018年8月1日以降、加盟店はカード情報を直接扱うことが禁止され、トークン化が必須となりました。 そのため、モジュールはカード情報をPAY.JPサーバーに送信し、トークンを受け取って処理するように改修されました。既存モジュール利用者は、サイトのセキュリティ維持のため早急にバージョンアップが必要です。最新版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。詳細は「SOY CMSのバージョンアップについて」を参照ください。

 

やまどうぐレンタル屋さんで顧客関連管理の機能の強化を行いました

/** Geminiが自動生成した概要 **/
登山用品レンタルの「やまどうぐレンタル屋」は、SOY Shopで運営しつつSalesforceを用いて顧客管理を行っていたが、SOY Shop内で完結させたいという要望からCRM機能強化を実施。オーダーカスタムフィールドや拡張ポイントを活用し、レンタル特有の発送・返却管理、納品書・検品書出力管理、配送状況連携、電話注文対応、実店舗受取管理などをSOY Shop内で実現。プラグインによる拡張のみでSalesforce並みの機能を実現し、本体のカスタマイズは行わずバージョンアップへの影響を排除。管理画面の表示速度最適化も実施。この機能強化は拡張ポイントを活用したプラグイン作成で再現可能。

 

Ideapad 720SにUbuntuを入れてWi-Fiを使用する

/** Geminiが自動生成した概要 **/
Lenovo Ideapad 720SにUbuntu 18.04β版をインストールしたが、内蔵Wi-Fiアダプタは使用できなかった。Wi-Fiアダプタ自体はRealtek製で物理的には動作しているものの、対応するドライバが見つからない。ArchWikiやRealtek、Githubのリポジトリを調査した結果、rtl8821ceドライバが必要だとわかったが、Ubuntuに導入できる形では提供されていない。そのため、現時点ではUSB接続のPocketWifiを利用してインターネットに接続している。

 

Jenkinsらをバージョンアップした後、エラーで動かなくなった時の対処

/** Geminiが自動生成した概要 **/
Jenkinsの動作が遅くなった場合、まずジョブの実行履歴を確認し、遅いジョブを特定します。次に、そのジョブの設定やビルド手順を見直し、不要な処理やリソースを消費する操作がないか確認します。 Jenkins自体の負荷が高い場合は、プラグインの無効化、古いビルドの削除、ディスク容量の確保などを行います。それでも改善しない場合は、Jenkinsの再起動や、リソースの増強を検討します。 パフォーマンス監視ツールを利用し、CPU、メモリ、ディスクI/Oなどを監視することで、ボトルネックの特定に役立ちます。

 

SOY Shopの配送モジュールのカスタマイズ例

/** Geminiが自動生成した概要 **/
SOY Shopの拡張ポイント`soyshop.payment.php`は、支払方法のカスタマイズを可能にします。このファイルで定義されたクラスは、`getPaymentModules()`で利用可能な支払いモジュールを返し、`getMethodName()`でモジュール名を表示します。`check()`メソッドで入力値の検証、`execute()`で決済処理、`onPageCheckout()`でチェックアウトページへの表示要素を追加、`onError()`でエラー処理を行います。標準モジュールを複製し、これらのメソッドをオーバーライドすることで、独自の決済方法を実装したり、既存のモジュールの動作を変更できます。例えば、決済手数料の追加や、特定の商品での支払い方法の制限などが可能です。

 

SOY CMSとSOY ShopでPHP7.2系に対応してみました

/** Geminiが自動生成した概要 **/
PHP7.2のリリースに伴い、SOY CMS/Shopがcreate_functionとget_class関数の仕様変更によりエラー停止する問題が発生した。これを解消するため、create_functionを無名関数に置き換え、get_classの引数にnullが入らないようチェック処理を追加した。これらの変更はPHP5.3以降で動作するため、現行の推奨バージョン全てに対応。PHP7.2対応版はサイトからダウンロード可能。SOY Inquiry、SOY Mailも同様の修正を実施。また、ファイルマネージャのelFinderもcreate_function関連の修正のためバージョンアップされた。 完全な動作確認はまだだが、エラー発生時は問い合わせフォームから連絡してほしい。

 

SOY CMS3.0.1とSOY Shop1.18.1の差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後もSOY CMS開発を続ける理由は、情熱、責任感、コミュニティへの貢献にあります。SOY CMSのシンプルさと柔軟性は魅力であり、ユーザーにとって使いやすいCMSであり続けることを目指しています。退職によって開発が停滞する不安を解消し、継続的な改善とサポートを提供することで、ユーザーの信頼に応えたいと考えています。また、オープンソースの精神に基づき、コミュニティと協力しながらSOY CMSを発展させ、貢献していくことが重要です。個人的な思い入れだけでなく、ユーザーとコミュニティのための開発を続けることが、私のモチベーションとなっています。

 

SOY CMS3.0.0とSOY Shop1.18.0の差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後もSOY CMS開発を続ける筆者は、情熱と責任感から無償で活動を継続している。退職理由は、開発方針の違いや待遇への不満ではなく、新機能開発への強い思いとユーザーコミュニティへの貢献意欲によるもの。オープンソース化という選択もあったが、品質維持と開発継続性を重視し、現状維持を選択。個人開発の負担は大きいが、ユーザーからの感謝や機能改善要望がモチベーションとなり、SOY CMSの発展に尽力している。

 

SOY CMS3.0.0βの差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後も私がSOY CMS開発を続ける理由は、情熱と責任感にあります。SOY CMSは私の人生の一部であり、ユーザーにとって無くてはならない存在だと認識しています。退職によって開発が滞り、ユーザーに迷惑をかけることは避けたい。オープンソース化という選択肢もありましたが、継続的な開発とサポートを提供するため、個人で開発を引き継ぎました。収益化は二の次で、ユーザーのニーズに応え、SOY CMSを成長させることが最優先です。この決断は私にとって大きな挑戦ですが、SOY CMSとユーザーへの愛着が原動力となっています。

 

SOY ShopでSOY CMS連携プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopの連携強化を図るプラグインが開発されました。従来、SOY CMSのブログパーツは標準ページでは利用できませんでしたが、最近のアップデートで可能になりました。今回さらに、SOY Shop側でSOY CMSの`cms:module`を利用できるプラグインが追加され、相互運用性が向上しました。これにより、ショップページでブログパーツや自作モジュールを容易に表示できるようになります。 この機能を利用するには、SOY CMSとSOY Shop両方のバージョンアップが必要です。 有料ブログ、販促ブログ付きネットショップ、カタログサイト構築など、多様な連携事例も紹介されています。

 

SOY Shop1.17.4分の差分をマージしました

/** Geminiが自動生成した概要 **/
筆者はSOY CMS開発元退職後も開発を継続している。理由は、クライアントへの責任感とOSSへの貢献意識、そしてSOY CMSへの愛着から。退職のきっかけは開発方針の相違で、顧客ニーズを軽視した新機能開発や、保守運用より新規顧客獲得を優先する姿勢に疑問を抱いた。現在はフリーランスとして、顧客の要望に応える開発や、バグ修正、PHPのバージョンアップ対応などを行い、SOY CMSの進化に貢献。退職という選択は容易ではなかったが、顧客とSOY CMSの未来を守るという信念に基づいた行動である。

 

SOY CMSのバージョンアップについて

/** Geminiが自動生成した概要 **/
SOY CMSを古いバージョンから最新版にバージョンアップするには、0.1ずつ段階的にバージョンアップし、公式サイトのバッチファイルを適用します。1.5系以降は一気にバージョンアップできますが、初期管理者でログインしてキャッシュをクリアしてください。1.11系以降のSOY Shopは自動バージョンアップに対応しています。

 

SOY CMS1.8.14分の差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後もSOY CMS開発を続ける筆者は、顧客からの要望とOSSへの貢献を動機としています。退職前は開発に携われなかったものの、現在は時間的制約がなくなり、積極的に取り組んでいます。PHP7対応など、公式版では対応が遅れている部分も独自に対応することで、顧客のニーズに応え、より良いCMSの提供を目指しています。また、オープンソース化によってコミュニティへの貢献も実現し、開発の喜びを感じています。将来的には公式版への還元も視野に入れ、SOY CMSの発展に尽力していく姿勢を示しています。

 

SOY Shopで一つのページで同じshop:moduleを二回使用したい

/** Geminiが自動生成した概要 **/
SOY Shopで同じshop:module(例:パンくずナビゲーション)を一つのページで二回使用する方法。 1. `/soyshop/webapp/src/module/site/common/breadcrumb_navigation.php` をショップIDディレクトリ内の `.module/common/` にコピーする。 2. コピーしたファイルを複製し、`breadcrumb_navigation2.php` 等にリネームする。 3. `breadcrumb_navigation2.php` 内の関数名を `soyshop_breadcrumb_navigation2` に変更し、`soyshop_breadcrumb_navigation` 関数が存在しない場合に元の `breadcrumb_navigation.php` をインクルードして実行するように修正する。 これにより、`shop:module="common.breadcrumb_navigation"` と `shop:module="common.breadcrumb_navigation2"` の二つのモジュールタグで同じ機能を別々に表示できるようになる。

 

SOY CMSでwwwありとなしのどちらでもアクセスできるサイトでの管理画面の対応

/** Geminiが自動生成した概要 **/
SOY CMSのconfig.ext.phpは、管理画面のカスタマイズを可能にする強力なツールです。管理画面のURLの変更、ログイン画面へのリダイレクト設定、.htaccessを利用したアクセス制限、管理画面のデザイン変更、独自機能の追加などが実現できます。データベースへのアクセスやSmartyテンプレートの利用も可能です。ただし、PHPの知識が必要で、不適切な記述はシステムエラーに繋がるため注意が必要です。このファイルはバージョンアップの影響を受けず、安全にカスタマイズを維持できます。

 

元CMSの開発として、CMSの過剰カスタマイズは止めた方が良いと伝えたい

/** Geminiが自動生成した概要 **/
CMS開発経験者として、CMSの過剰カスタマイズは避けるべきだと主張しています。標準機能で不足する場合はプラグイン活用を推奨し、どうしてもカスタマイズが必要なら汎用化し開発元に取り込んでもらうべきです。 成功するネットショップは過剰なカスタマイズを避け、標準機能のバージョンアップによる恩恵を最大限に活用しています。HTMLやPhotoshopを使いこなし、小規模な修正を繰り返すことで魅力的なLPページを作成し売上向上を実現しています。 カスタマイズ依頼の際は、標準機能への実装可能性や他サイトでの汎用性を重視し、CMSカスタマイズが難しい場合はAPI連携可能な外部サービスを検討します。この柔軟な姿勢がサイトの急成長を支えています。

 

SOY CMSでサイトマップ結合プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shop用サイトマップ結合プラグインを作成。複数のSOYサイトのサイトマップを一つにまとめることで、サイトマップ管理の手作業を削減。プラグイン管理画面に個々のサイトマップURLを登録すると、静的なXMLファイルが生成される。このファイルは一日で寿命が切れ、翌日いずれかのページにアクセスがあると再生成されるため、高速な参照と最新の状態を維持できる。プラグインはGitHub上のパッケージに同梱、利用にはSOY CMS/Shopの最新版が必要。

 

CMSに不正にログインした後、何をする?

/** Geminiが自動生成した概要 **/
SOY CMSに不正ログイン後、ファイルマネージャからのPHPアップロードは不可だが、フロントコントローラ(index.php)に悪意あるPHPコードを埋め込み可能。これにより、サイト閲覧時に勝手にメール送信などの踏み台攻撃が可能になる。対策はindex.phpの書き込み権限を外すこと。SOY ShopのテンプレートやPHPモジュールも悪用されうる。

 

SOY Shopでキャンペーンプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のキャンペーンプラグインが開発されました。管理画面でブログのようにキャンペーンコンテンツを作成・編集し、公開期間を設定できます。自動バックアップ機能も搭載。トップページやフリーページ、マイページ、カートページなど、表示場所を自由に指定可能です。キャンペーン詳細は専用のページに表示されます。利用にはSOY Shop 1.17.3p7.3以降、SOY CMS 1.8.12p7.6以降が必要です。GitHubからパッケージを入手できます。意見・要望はフォーラムへ。

 

SOY Inquiryでお問い合わせフォームの確認画面で指定の箇所までジャンプしたい

/** Geminiが自動生成した概要 **/
SOY Inquiryで確認画面をフォームの先頭に表示する方法です。まず、form.phpの`<form>`タグに`action="#confirm"`を追加します。次に、confirm.phpの入力内容確認箇所の直前に`<div id="confirm"></div>`を挿入します。これで、確認画面表示時にフォームの先頭にジャンプします。完了画面にも適用する場合は、complete.phpでも同様の操作を行います。ただし、この方法ではURLに#confirmが残ります。URLを綺麗にしたい場合は、PHPでaction属性を動的に指定する必要があります。

 

SOY CMSでプラグインブロックを追加してみた

/** Geminiが自動生成した概要 **/
SOY CMSのスクリプトモジュールブロックをプラグイン化し、簡単に導入できる「プラグインブロック」機能が追加されました。サイト構築時に毎回スクリプトを設定する手間を省き、記事一覧表示の効率化を実現します。プラグインをインストール後、ブロック設定でプラグインブロックを選択し、プラグインIDを指定するだけで利用可能です。プラグインIDは各プラグインの詳細説明に記載されています。この機能はsoycms_1.8.12p7.2以降で使用可能で、GitHubからパッケージをダウンロードできます。バージョンアップ時はuser.config.phpにPluginBlockComponentの追加が必要となる場合があります。

 

SOY Inquiryでコンバージョンタグを利用する

/** Geminiが自動生成した概要 **/
SOY Inquiryでコンバージョンタグを利用する方法を解説します。URLパラメータ`sample_conv`で渡された値をセッションに保存し、お問い合わせ完了画面でhiddenフィールドに表示、メール本文にも含めることができます。 `index.php`にセッション保存処理を追加し、新規テンプレート`soy`の`complete.php`にhiddenフィールド出力処理を追加します。`mail.admin.php`と`mail.user.php`にコンバージョンタグに関する表記を追加することで、管理者・ユーザー向けメールにも表示可能です。完了画面表示前にメールが送信されるため、完了画面で値を利用しない場合はセッションを破棄する処理のコメントアウトを外してください。

 

さくらのレンタルサーバでSOY Shopをバージョンアップしたら画面が真っ白になった時の対処

/** Geminiが自動生成した概要 **/
さくらレンタルサーバでSOY Shopをバージョンアップ後、画面が真っ白になる場合、PHPのバージョンが古いためです。コントロールパネルの「PHPのバージョン設定」で推奨バージョン以上に変更、「PHP設定の編集」で`php.ini`に`cgi.fix_pathinfo = 1`と`date.timezone = "Asia/Tokyo"`を追加すれば解決します。


Powered by SOY CMS   ↑トップへ