ブログ内検索:

プログラミング教室
最近興味があることや肥料教室についてのメルマガを配信しています
検索キーワード:「要望」
 

SOY Inquiryで1つのフォーム内で住所(JS版)カラムを複数個設置できるようにしました

/** Geminiが自動生成した概要 **/
SOY Inquiryが、ユーザーからの要望に応え、1つのフォーム内で「住所(JS版)」カラムを複数個設置できる新機能を提供開始しました。 これまで、フォーム作成時に住所カラムが1つに限られていたため、例えば配送先と請求先など、複数の住所情報を取得したい場合に課題がありました。今回のアップデートにより、この制約が解消され、フォーム内で異なる用途の住所情報を効率的に収集することが可能になります。 フォームの柔軟性と利便性が大幅に向上し、より多様な顧客情報取得ニーズに対応できるようになりました。本機能はSOY Inquiry公式サイトからダウンロードして利用可能です。

 

木酢液とは?

/** Geminiが自動生成した概要 **/
オンライン肥料教室の要望から「木酢液」の化学的解説を開始。木酢液は、木材や竹炭製造時に出る煙を冷却して得られる燻臭の水溶液と定義。主要成分は水分90%、酢酸5%、フェノール類50%に加え、約200種の化合物で構成されます。フェノール類にはフェノール、グアイアコール、フルフラールなどが含まれ、市販の食酢にフェノール類が加わったイメージと解説。次回は、木酢液の殺菌用途を踏まえ、酢酸の殺菌性に焦点を当てて詳述する予定です。

 

エディタの会を開きました

/** Geminiが自動生成した概要 **/
自宅でプログラミング教室を主宰する筆者が、保護者向けに「プログラマの日常」に触れるLinux勉強会を立ち上げました。記念すべき初回は、エディタのインストールに焦点を当て、Emacs、vi、nanoといった主要エディタを紹介。その上で、Windowsライクで直感的に使えるMicroエディタを参加者と共にインストールしました。これは、プログラミング学習への敷居を下げ、ターミナルでのコード編集を身近にするための工夫です。詳細なインストール手順は関連記事にて解説しており、初心者でも安心してLinux環境での開発に挑戦できる第一歩を支援します。

 

SOY CMSでOpenStreetMapプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS向けに、自由に地図作成に参加できるOpenStreetMapを活用した新プラグインがリリースされました。このプラグインはLeafletライブラリを使用し、あなたのSOY CMSサイトにインタラクティブな地図を表示し、ブログ記事の関連地点をピンでマッピングすることが可能です。当ブログ運営者が、各地を巡って投稿した記事を妻の要望で分かりやすく整理するため開発されました。旅の記録、地域情報、店舗案内など、位置情報とコンテンツを紐付けて魅力的に発信したい方に最適です。サンプルページで機能を確認でき、専用サイトからダウンロード可能です。SOY CMSサイトの表現力を格段に向上させます。

 

SOY CMSのSOY CMS検索結果ブロックプラグインで検索クエリの正規化を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの検索結果ブロックプラグインがアップデートされ、ユーザーの利便性を高める「検索クエリの正規化」機能が追加されました。この新機能により、半角カナで入力された「ダイズ」のような検索語句が自動的に全角カナの「ダイズ」に変換され、表記揺れを吸収してより正確な検索結果を提示できるようになります。サイト訪問者は入力形式を気にせず、欲しい情報にたどり着きやすくなります。現時点ではカタカナと数字に対応しており、今後の要望に応じて順次機能拡張を予定しています。このアップデートは、Webサイトのユーザビリティ向上に大きく貢献するでしょう。最新パッケージはSOY CMS公式サイトよりダウンロード可能です。

 

SOY Shopの顧客管理で属性値の項目名を変更できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能強化として、属性1〜3の項目名を自由に設定できるようになりました。これにより、顧客の詳細検索だけでなく、顧客一覧ページの簡易検索でも活用できます。 従来は「属性1」のような固定名称でしたが、例えば「郵便番号」「誕生日」「紹介者」など、自由に名称を設定できます。この変更により、顧客情報の管理と検索がより便利になります。 また、SOY2フレームワークではSOY Shopの顧客管理と連携できるライブラリを提供しており、ログイン機能などを簡単に実装できます。

 

SOY Shopの予約カレンダーのスマホ版で表示する日付カラムの設定等を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの予約カレンダー機能がアップデートされ、スマホ版での表示が改善されました。 主な変更点は以下の通りです。 * ○ヶ月先以降のカレンダー非表示設定の追加 * スマホ表示時の日付カラム数設定とページャ設定の追加 * 予約可能期間が2週間から2ヶ月に延長 これらのアップデートにより、スマホユーザーはより使いやすく、長期的な予約もしやすくなりました。パッケージはサイトからダウンロード可能です。

 

SOY CMSで多言語ラベルプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで英語サイトを同じURLで運営したい方向けに、多言語ラベルプラグインを作成しました。 このプラグインにより、ラベルごとに日本語と英語の両方の表記を管理できます。 ただし、同一URLでの多言語サイト運営には、PHPモジュールや画像パス変換プラグインなど、追加の対応が必要です。 これらの対応が必要な方は、フォーラムからお問い合わせください。 プラグインを含むパッケージは、サイトからダウンロードできます。

 

SOY CMSのカスタムフィールドでブロックの外側で使用できるタグの追加設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドで、これまでブロック内でのみ使用可能だったブログブロックタグ(b_block:id)を、ブロック外でも使用できるようになりました。 今回のアップデートにより、記事詳細ページの下部など、ブロック外に配置したお問い合わせフォームなどを、記事ごとに表示内容を変更することが可能になります。 設定は、カスタムフィールドアドバンスドの個々のフィールドの高度な設定で行います。例えば、フィールドIDが「chk」の場合、記事詳細ページで「b_block:id="is_chk"」で囲った箇所はチェックが入っている場合に、「b_block:id="no_chk"」で囲った箇所はチェックが入っていない場合に表示されます。 アップデートパッケージは、saitodev.co/soycms/ からダウンロードできます。

 

SOY CMSのブログ記事JSON出力プラグインで記事一覧の出力に必要な値を取得できるようにしました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事JSON出力プラグインがアップデートされ、記事一覧の出力が容易になりました。 今回のアップデートにより、JSON出力に以下の値を含めることが可能になりました。 * 記事のパーマネントリンク * 本文の一部または冒頭数文字 * サムネイル画像のパス * カスタムフィールドの値 これらの値はGETパラメータで出力の有無を指定できます。これにより、JavaScriptでJSONを取得し、記事一覧を動的に生成することが可能になります。 例えば、記事のURL、本文の冒頭50文字、サムネイル画像のパスを含めたJSONを取得する場合は、以下のようなURLでアクセスします。 ``` https://example/site/1.json?limit=1&content=50&is_url=1&thumbnail ``` アップデート版のプラグインは、以下のサイトからダウンロードできます。 https://saitodev.co/soycms/

 

SOY CMSでページカスタムフィールドを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSユーザーからブログページ設定に説明文追加の要望があり、ページカスタムフィールドプラグインを作成しました。このプラグインは、ブログページ以外の標準ページにも項目を追加できます。 追加項目は公開側表示と管理画面メモ双方を想定し、公開側表示速度への影響を抑えるため、cms:moduleを介して出力します。 公開側での使用方法詳細はプラグイン詳細画面に記載しています。 対応パッケージは下記サイトからダウンロード可能です。 https://saitodev.co/soycms/

 

SOY CMSのブロックでカスタムフィールドの拡張ポイントの実行設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのブロック(ラベル、プラグイン)に、カスタムフィールドの拡張ポイント実行有無を設定する機能が追加されました。 従来、カスタムフィールドが増えるとブロックのパフォーマンスが低下する問題がありました。今回の更新により、不要なカスタムフィールドの値取得を抑制し、表示速度の改善が可能となります。 例えば、新着記事一覧でタイトルとリンクのみ表示する場合、カスタムフィールドの取得をオフにすることで効率化できます。 今回の更新は、長期間運用しているサイトでカスタムフィールドが肥大化している場合に特に有効です。ダウンロードはsaitodev.co/soycms/から可能です。

 

SOY CMSで分類分けしたカテゴリ一覧を出力する

/** Geminiが自動生成した概要 **/
SOY CMSでカテゴリを分類分けして出力したい場合に便利なモジュールが新たに開発されました。 このモジュールを使用すると、サイトの設定で「ラベルのカテゴリ分け」を有効化し、カテゴリを分類分けして作成することで、テンプレート上で分類名ごとにカテゴリ一覧を出力できます。 モジュールの設置は、テンプレート編集画面で所定のコードを記述するだけで完了します。標準ページに設置する場合はブログページIDの指定が必要です。 詳細な使用方法やダウンロードは、以下のサイトをご確認ください。 - SOY CMS公式サイト: https://saitodev.co/soycms/

 

SOY CMSでブログ記事プレビュープラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事にプレビュー機能を追加するプラグインが開発されました。記事投稿画面にプレビュー用のURL設定欄が追加され、確認ボタンを押すと、稼働中のブログページのデザインそのままに記事の内容を確認できます。プレビュー中はGoogle Analyticsのタグは出力されません。このプラグインにより、これまでプレビュー用の別ページを用意する必要があった手間が省けます。ダウンロードは開発元のサイトから可能です。

 

SOY Shopでお届け先の項目の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで、注文手続き画面のお届け先情報の項目設定ができるようになりました。運営上、お客様情報とお届け先情報で、氏名と電話番号を同じにしたいという要望に対応し、これらの項目は初期設定で非表示&必須入力ではなくなりました。 管理画面では、各項目の表示/非表示、必須/任意を設定できます。管理画面からの注文時は、入力の手間を減らすため、お客様情報からコピーするボタンも設置しました。 今回のアップデートにより、ショップ運営者はより柔軟にお届け先情報の入力フォームをカスタマイズできるようになりました。

 

SOY CMSでブログ記事JSON出力プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用ブログ記事JSON出力プラグインが登場!非同期で記事一覧を表示したいという要望に応え、軽量でサーバ負荷の少ないJSON出力を実現しました。ページャ機能もGETパラメータで簡単に実装できます。 例えば、10件ずつ記事を表示する場合、以下のURLでアクセスできます。 - https://saitodev.co/2.json?limit=10&offset=0 - https://saitodev.co/2.json?limit=10&offset=1 その他便利な機能も充実!詳細はSOY CMSプラグイン詳細画面をご覧ください。ダウンロードは https://saitodev.co/soycms/ からどうぞ。

 

SOY Shopで住所項目設定プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客情報入力画面で、番地を必須入力項目にするためのプラグインを作成しました。 従来は「町番地」項目が一体だったため、番地無しでも入力が完了してしまう問題がありました。 このプラグインでは、住所項目を「町名」と「番地」に分離し、それぞれを必須項目に設定できます。 これにより、番地入力を徹底し、住所情報の精度向上を実現します。 プラグインは下記URLからダウンロード可能です。 https://saitodev.co/soycms/soyshop/

 

SOY CMSのMIMEタイプの制限設定でページ毎の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのファイルアップロード制限をページごとに設定できるようになりました。記事投稿画面とファイルマネージャで許可するMIMEタイプを分けたいという要望に応え、設定ファイルにELFINDER_MODEという定数を追加。これにより、例えば記事投稿画面では画像ファイルのみ、ファイルマネージャではCSSやJSファイルのみ許可するといった設定が可能になりました。設定は /CMSインストールディレクトリ/common/config/upload.config.php 内でELFINDER_MODEの条件分岐を用いて$mimetypes配列を定義することで行います。最新のパッケージは公式サイトからダウンロードできます。

 

SOY Shopのタグクラウドプラグインでカテゴリ分けの機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのタグクラウドプラグインに、タグ候補のカテゴリ分け機能が追加されました。タグ数増加に伴うユーザビリティ向上のため、候補をカテゴリで絞り込めるようになりました。アップデート版パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。以前公開されたタグクラウドプラグイン(記事ID:4008)の機能拡張となります。

 

SOY Shopの標準配送モジュールの配送料無料設定で例外の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの標準配送モジュールに、特定商品を含む場合に配送料を無料にする例外設定機能が追加されました。 設定方法は、指定商品がすべてカートにある場合(AND)、いずれか1つでもあれば(OR)、指定商品のみカートにある場合(MATCH) の3種類。複数設定も可能です。 例えば、AとB商品を指定しAND条件なら、AとB両方カートにあると送料無料。OR条件ならAかBどちらかあれば送料無料。MATCH条件ならAとBのみカートにある場合のみ送料無料となります。 新機能は最新パッケージ(https://saitodev.co/soycms/soyshop/)から利用可能です。

 

SOY CMSのカスタムフィールドアドバンスドで適用ラベルの設定で複数ラベルの設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSカスタムフィールドアドバンスドで、複数ラベル設定に対応するアップデートが公開されました。従来は1フィールドにつき1ラベルしか設定できませんでしたが、今回のアップデートにより複数のラベルと連動させることが可能になりました。各フィールドの高度な設定にある「適用ラベル」で設定でき、ラベルを追加する度に新しいセレクトボックスが表示されます。この機能により、より柔軟なフィールド設定が可能になります。アップデートパッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY Shop版タグクラウドプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のタグクラウドプラグインが新たに開発されました。カスタムサーチフィールドや関連商品プラグインと組み合わせることで、商品検索の利便性向上に貢献します。以前はカスタムサーチフィールドで代替可能でしたが、要望増加に伴いプラグイン化されました。ダウンロードは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 CMSでラベルフィールドを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドで記事フィールドを拡張し、ラベルのみを選択して紐付いた記事一覧を出力する要望に応えるため、ラベルフィールドプラグインを開発。記事投稿画面にラベル選択項目を追加し、記事詳細画面で選択したラベルに関連する記事一覧を表示する機能を提供。当初はカスタムフィールドアドバンスドへの実装を試みたが、メモリ使用量の問題で断念し、プラグインとして独立させた。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能。

 

SOY ShopのB2CSVプラグインの送り状種類の項目で送料で分ける方法

/** Geminiが自動生成した概要 **/
SOY ShopのB2CSVプラグインで、送料ごとに送り状種類を自動で変更する隠し機能が追加されました。送料800円なら発払い(0)、200円ならネコポス(7)のように設定可能です。`/soyshop/webapp/src/module/plugins/b2_order_csv/form/B2ExportFormPage.html`を`_B2ExportFormPage.html`にリネームし、`<input type="hidden" name="Pattern[金額]" value="送り状種類">`をHTMLに追加することでカスタマイズできます。金額と送り状種類の対応を複数指定可能です。最新版のSOY Shopへのアップデート推奨。

 

SOY Shopの管理画面からの注文の商品検索の高速化に挑戦

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の注文機能で、商品点数増加に伴う検索速度低下を改善するプラグインが開発された。商品名・コードのAND/OR検索切り替えに加え、検索対象から子商品を除外する設定を追加。特に子商品除外は、複雑なSQLクエリを簡略化することで劇的な効果を発揮し、10秒かかっていた検索が1秒以内に完了するようになった。商品グループ機能を活用し、商品数が1000件を超える店舗で効果を発揮。電話注文時の業務効率化に貢献する。ダウンロードはsaitodev.co/soycms/soyshop/から。

 

SOY Shopで顧客情報引継ぎプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop向けプラグインを開発。予約注文型ネットショップで来店人数を制限するため、ネットショップと予約カレンダーを連携させる。一つ目のショップサイトで注文後、リンク経由で予約カレンダーを持つ二つ目のサイトへ遷移。この際、開発したプラグインにより顧客情報を一つ目のサイトから取得し、二つ目のサイトでシームレスに手続きを継続できる。設定は各サイトに「別サイト顧客情報引継ぎ用リンク設置プラグイン」「別サイト顧客情報引継ぎプラグイン」をインストールし、指示に従う。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能。

 

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

/** Geminiが自動生成した概要 **/
SOY CMSブログの記事ページからSOY Inquiryで作成したお問い合わせフォームへ遷移する際、記事名を引き継ぎたいという要望に応えるため、SOY CMSとSOY Inquiry双方に機能追加を行いました。 SOY CMS側では「SOY Inquiry連携プラグイン」を追加。記事ページにフォームへのリンクを設置し、クリックすると記事名を渡しつつフォームへ遷移します。SOY Inquiry側では「記事名 [SOY CMSブログ連携]」カラムを追加し、受信した記事名を表示します。 プラグインの設定方法はSOY CMS側のプラグイン詳細画面に記載されています。記事名以外の項目連携も要望に応じて対応可能です。利用にはSOY CMSとSOY Inquiry両方のアップデートが必要です。

 

SOY CMSの記事のCSVインポート・エクスポートでプラグインの項目を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの記事CSVインポート・エクスポート機能が拡張され、カスタムフィールドアドバンスドとカスタムサーチフィールドプラグインの項目が追加されました。これにより、記事データだけでなく、プラグインで追加した項目もCSVで一括管理できるようになりました。要望に応え、SOY Shopの商品CSV機能と同様に拡張ポイントが設けられました。カスタムフィールドプラグインには非対応です。他のプラグインへの対応は要望ベースで検討されます。最新版はsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopで簡易ショッピングモール運営プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用の簡易ショッピングモール運営プラグインが開発されました。従来、複数ショップでは顧客ポイントの共有化が課題でしたが、本プラグインは単一ショップに複数の「出店者」アカウントを追加することで解決。各出店者は自身の商品登録・注文情報・顧客情報(閲覧のみ)へのアクセスに制限され、他出店者の情報は見えません。これにより、顧客ポイントの共有が可能になります。現状、出店者用ページやカテゴリ管理機能は未実装。ショッピングモール運営希望者は問い合わせを推奨。プラグインはSOY Shopパッケージに同梱されています。

 

SOY CMSでページ切り替えプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのページ切り替えプラグインは、指定期間中に特定のURLでアクセスされた際に、別のページコンテンツを表示する機能を提供します。 例えば、キャンペーン期間中のみトップページをキャンペーン専用のデザインに切り替えることができます。 管理画面で切り替え期間と対象ページ、表示ページを設定するだけで、URLを変更することなくコンテンツを切り替えられます。 さらに、意図しないアクセスを防ぐため、切り替え先ページへの直接アクセスはリダイレクトで元のページへ戻されます。 ダウンロードはsaitodev.co/soycms/ から可能です。

 

SOY CMSのCumulative Layout Shiftプラグインにpicture要素設定を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのCore Web Vitals改善用プラグイン「Cumulative Layout Shift」にpicture要素設定が追加されました。 picture要素はレスポンシブ画像を実現するHTMLタグで、画面幅に応じて最適な画像を出力します。プラグインでは、imgタグにsize属性を自動挿入するか、pictureタグで囲うかを選択できます。ただし、既にHTMLテンプレートでpictureタグを使用している場合は正常に動作しないため注意が必要です。この機能はsaitodev.co/soycms/で提供されるパッケージに含まれています。画像のwidthが小さい場合はsize属性が自動挿入されます。

 

SOY CMSでラベルカスタムフィールドを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用ラベルカスタムフィールドプラグインが開発されました。ブログページのカテゴリごとに異なる説明文を表示する機能強化が目的です。従来のカテゴリー詳細表示プラグインではラベルのメモ欄しか利用できませんでしたが、このプラグインはラベル詳細画面にカスタムフィールドを追加し、入力した値をカテゴリページに出力できます。これにより、カテゴリページの表現力向上に貢献します。現在はテキスト系の項目のみですが、要望次第で画像項目の追加も検討されています。プラグインはsaitodev.co/soycms/から入手可能です。

 

SOY Shopでメンテナンスページ設置プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のメンテナンスページ設置プラグインが開発されました。このプラグインを使用すると、ショップサイトがメンテナンス中の際に簡単にメンテナンスページを表示できます。設定は、404NotFoundページと同様の方法でメンテナンスページを作成するだけで完了します。プラグインを有効化すると、管理画面のホームに設定の有無と設定画面へのリンクが表示され、メンテナンスページの表示を簡単に切り替えられます。現状は全ページがメンテナンスページに切り替わりますが、将来的にはカートやマイページのみの切り替えといった機能追加も検討されています。プラグインはsaitodev.co/soycms/soyshop/から入手可能です。

 

SOY Shopで予防接種用の予約アプリの開発を行いました

/** Geminiが自動生成した概要 **/
SOY Shopでキャンセル多発型の事業向け予約アプリを開発。予約受付と同時にキャンセル待ち受付も開始し、キャンセル発生時には自動でキャンセル待ちの先頭者にメールで通知、24時間以内に予約確定しなければ次の待機者に通知がいく仕組み。キャンセル待ちの順番はキャンセル発生時点ではなく、キャンセル待ち登録時点の順番を維持することで公平性を確保。また、二重予約防止のため、同一人物による複数アカウント作成のチェック機能や、予約時に電話番号認証を導入。これらの対策により、キャンセル発生時の迅速な対応と、キャンセル待ちユーザーの利便性向上、不正利用の抑制を実現した。

 

SOY CMS / Shopで別サイトのモジュールを読み込む

/** Geminiが自動生成した概要 **/
SOY CMS/Shopで、別サイトのHTMLモジュールを読み込む新機能が追加されました。サイトIDをプレフィックスとして`{siteId}.moduleName`のように指定することで、HTMLのみで構成されたモジュールを別サイトから呼び出せます。例えば、`{otherSite}.html.sample`と記述すれば、siteIdが"otherSite"のサイトにある"html.sample"モジュールが表示されます。ただし、SOY CMSとSOY Shop間でのモジュールの相互利用は不可で、データベースを参照するモジュールも使用できません。この機能は、最新版のSOY CMS/Shopパッケージで利用可能です。

 

SOY Shopのマイページ機能でパスワードの文字数制限の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのマイページ機能にパスワード文字数制限設定が追加されました。従来の8文字以上という制限を任意に変更可能になり、柔軟なパスワード設定が可能になりました。今回のアップデートでは、下限文字数の設定が可能となり、将来的にはパスワード強度判定機能の追加も検討されています。この機能はsaitodev.coで提供されているSOY Shopパッケージに含まれています。

 

SOY ShopでログインIDの項目名の変更を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで、顧客が患者番号のような任意のIDでマイページにログインできるよう、ログインIDの項目名を変更する機能が追加されました。従来の「ログインID」表記だと、患者番号として運用するには分かりにくいため、管理画面から自由に名称を変更できるようになりました。例として、画像では「患者番号」に変更されています。この機能により、顧客コードを利用するよりも運用コストと教育コストの削減が見込めます。このアップデートはsaitodev.co/soycms/soyshop/ で提供されているパッケージに含まれています。

 

郵便番号を入力したら半径3km内のすべての町名を取得する

/** Geminiが自動生成した概要 **/
Google Geocoding APIを用いて、指定住所(安岡寺)から半径3km以内の町名を取得する方法を検証した。APIで中心座標を取得後、緯度経度を0.01(約1km)ずつずらした地点の逆ジオコーディングを繰り返し、町名を収集した。しかし、1kmグリッドでは範囲内の全町名を網羅できず、グリッドを細かくするとAPI使用回数が増加する問題点が残った。より効率的な方法の検討が必要。

 

SOY CMSで複数ページフォームプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS向け複数ページフォームプラグインが開発されました。このプラグインは、管理画面でページ構成と遷移を設定し、公開側でフォームを表示します。各ページの設定、完了ページでのSOY Inquiry連携、高度なページでのSOY2HTML利用、フォームデザイン変更といった機能を提供します。これにより、複雑な複数ページフォームの作成コストを大幅に削減できます。プラグインはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopで軽量版集計プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面用軽量版集計プラグインが開発されました。従来版との違いは、プラグイン独自の検索条件ではなく、管理画面の注文検索機能を利用するように変更された点です。これは、高度な注文検索を可能にする拡張ポイントが追加されたこと、そしてその検索結果を集計したいという要望に応えるための改良です。新プラグインは、管理画面の注文検索で絞り込んだ結果に基づいて集計を行います。この変更により、カスタムフィールド等の拡張検索条件にも対応した柔軟な集計が可能になりました。新プラグインはsaitodev.coのSOY Shopパッケージで提供されています。

 

SOY ShopのオーダーカスタムフィールドでjQueryのDatepickerを使ってみる

/** Geminiが自動生成した概要 **/
SOY Shopで配送と店舗受け取りを同時選択できるよう、オーダーカスタムフィールドで対応する方法を紹介。標準機能にはないカレンダーを、jQuery Datepickerを用いて実装する手順を解説。オーダーカスタムフィールドを作成後、カートページテンプレートにjQueryを読み込み、Datepickerを適用するコードを追加。オプション設定で日付範囲も指定可能。複数フィールドへの適用方法や、直接入力を防ぐreadonly属性の追加についても触れている。

 

SOY CMSでカスタムフィールドデータ移行プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSの長年の利用者から、既存記事のユーザビリティ向上のため、カスタムフィールドのデータをカスタムサーチフィールドに移行したいという要望があり、対応プラグインを開発しました。カスタムサーチフィールドは、検索性向上のためデータ型を最適化しており、プラグインはデータ型の差異を考慮した移行を実現します。設定画面で双方のカラム対応を設定し、実行ボタンで移行完了。文字列型のみ対応の現時点でのパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY CMSでブログ記事連番プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSユーザーからの要望に応え、ブログ記事に連番を表示するプラグインを開発しました。記事ごとに何番目の記事かを表示する機能は、SOY CMSの「記事とページの独立性」という仕様により、複雑な処理が必要となるため、パフォーマンスへの影響を考慮し、標準機能ではなくプラグインとして提供しています。ダウンロードはsaitodev.co/soycms/ から可能です。

 

SOY CMSで記事毎画像アップロードプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSの記事毎に無制限に画像をアップロードできるプラグインを開発。カスタムフィールドでは複雑になる複数画像管理を、独立したプラグインで実現。記事投稿画面にアップロードフォームを設置し、公開側のブログ詳細ページで表示できる。SQLのTEXTカラム容量分まで画像パスを保存可能。操作性には改良の余地があるものの、即興で開発したパッケージはsaitodev.co/soycms/からダウンロードできる。

 

SOY Shopでカスタムフィールド置換文字列プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopは、注文受付メールなどの自動送信メールに商品ごとのカスタムフィールド値を挿入したいという要望に応え、「カスタムフィールド置換文字列プラグイン」を開発しました。このプラグインにより、詳細画面で置換フォーマットを設定し、メールテンプレートに文字列を加えるだけで、商品数に応じたカスタムフィールド情報が自動的にメールに挿入されます。これにより、顧客へのパーソナライズされた情報提供が可能となり、EC運営の効率化に貢献します。メールビルダープラグインからも新プラグインの置換文字列が利用できるよう連携も強化。本機能を含む最新パッケージはSOY CMSサイトからダウンロード可能です。

 

SOY InquiryでParsley.jsを利用する

/** Geminiが自動生成した概要 **/
SOY InquiryにParsley.jsを組み込むと、見栄えの良い入力内容チェックが利用できます。フォームテンプレートにParsley.jsのスクリプトを挿入し、SOY Inquiryのフォーム設定画面で各項目にdata-parsely-triggerとrequired属性を設定します。さらに、data-parsely-required-message属性を追加すると、エラーメッセージをカスタマイズできます。これにより、各項目に合わせたエラーメッセージが表示され、ユーザーフレンドリーなフォームが作成できます。

 

SOY CMSでページ毎表示制限プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのページ毎表示制限プラグインは、サイト運営中に追加するページを、管理画面ログイン時のみ表示可能にする機能を提供します。CMS組み込み時の全ページ非表示機能を、個別のページに適用できる形にしたものです。設定したページは、管理画面ログイン中であれば、別タブでも表示制限が有効です。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY Shopのメール送信種類追加プラグインで顧客詳細メールの種別を追加しました

/** Geminiが自動生成した概要 **/
メール送信種類追加プラグインで、顧客向けのメール種別を追加しました。注文と顧客の種別を選択でき、顧客詳細ページから送信するメールの種類を指定できます。

 

SOY Shopで商品毎パーツモジュール選択読み込みプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページで商品ごとに異なる定型文を表示するプラグインが開発されました。 通常、プラグインで定型文を設定するところを、このプラグインはパーツモジュール内で他のパーツモジュールを呼び出すことで実現しています。商品情報に設定したモジュールIDに対応するパーツモジュールを`shop:module="common.fixed_form_module"`で呼び出すと、商品に応じた定型文が表示されます。HTMLだけでなくPHPのモジュールも使用可能なので、動的な表示にも対応できます。このプラグインを含むパッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopで振込先情報プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop管理画面に振込先情報編集機能を追加するプラグインを作成しました。このプラグインを使用すると、顧客の振込先情報を管理し、返金時の送金に利用できます。顧客はマイページからも振込先情報を登録可能です。

 

SOY CMSでラベルの使用状況の確認用の表示を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSで、ラベルの利用状況を確認できる機能が追加されました。ラベル詳細画面に、どのページのどのブロックで使用されているかを表示する機能です。ページやブロックが増え、ラベルの管理が複雑になるにつれて、使用状況の把握が困難になるという問題に対応しています。この機能により、どのページでラベルが使用されているかを一覧で確認できるようになり、サイト管理の効率化に繋がります。ブログやカテゴリーで使用されているラベルも表示されます。更新されたパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Inquiryの住所カラムで自動住所検索モードを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryの住所カラムに、郵便番号入力後、自動で住所検索を行う新機能が追加されました。住所(JS版)カラムで自動住所検索モードを有効にすると、郵便番号入力時にリアルタイムで住所検索を実行し、市区町村カラムに結果を自動挿入します。検索ボタンは非表示となり、入力桁数に応じて検索結果も動的に変化します。ただし、一つのフォームで住所(JS版)カラムは一つしか使用できません。複数利用希望の場合は改修が必要です。新機能搭載パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロード可能です。

 

SOY Inquiryの連番カラムで接頭語の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryの連番カラム機能が拡張され、接頭語と桁数指定が可能になりました。 「2019120001」のような複雑な連番を自動生成できます。管理画面で接頭語、桁数、連番を設定することで、例えば次回番号「4」の場合、桁数4なら「0004」、接頭語「ABC」なら「ABC0004」となります。桁数を超える場合は調整されます。日付置換文字列にも対応し、日付に応じた接頭語も可能です。新機能搭載パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロードできます。

 

SOY Shopをリリースして10年が経ちました

/** Geminiが自動生成した概要 **/
SOY Shopは2009年12月18日にベータ版公開、CSS Nite忘年会でお披露目された。開発当初はプログラミング未経験だったが、マニュアル作成やバグ報告、軽微な修正を担当。後に支払いモジュール開発でスキルアップし、構築サイトが情熱大陸で紹介されるなど貴重な経験を得た。中でも、多様な業種のネットショップ構築を通して商売事情を学べたことが、現在の商売の基礎となっている。開発元を去った後も、オープンソースとして非公式にメンテナンスを継続していく。

 

SOY Shopで出荷予定日通知プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用出荷予定日通知プラグインが開発されました。注文から即時出荷を売りにするサイト向けに、サイト上で現在の注文の出荷予定日を表示できます。営業日カレンダーと連携し、定休日を考慮した正確な日付を表示。表示文言は営業日・定休日の午前・午後それぞれ設定可能です。通常版に加え、商品ごとに異なる出荷日・文言を設定できる商品毎出荷予定日通知プラグインも追加されました。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopノートパッドプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopユーザー向けに、商品・カテゴリ・顧客ごとにメモを残せる「SOY Shopノートパッドプラグイン」を開発しました。管理画面の詳細画面にWYSIWYGエディタ付きのメモエリアを追加し、画像やリンクの挿入も可能です。メモ投稿後は詳細画面にリンクが表示されます。現在はタイトルと本文のみですが、検索性向上などの拡張も検討中です。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。顧客からの要望を元に、簡単な引継ぎ情報共有を目的として開発され、商品、カテゴリ、顧客の詳細画面にメモを残すことができます。

 

SOY Shopのカスタムサーチフィールドで検索フォームの初期の選択の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドで、検索フォームの初期選択値を設定できるようになりました。ラジオボタン、チェックボックス、セレクトボックスで、選択項目の前に「*」を付けるだけで、ページ表示時に該当項目が初期選択されます。この機能により、ユーザーが求める商品をよりスムーズに見つけられるようになります。設定はカスタムサーチフィールドの管理画面から行えます。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopの管理画面からの注文で未登録商品の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面からの注文で、誤操作により在庫管理などに不整合が生じる問題を解消するため、「未登録商品を指定する」ボタンの表示有無を設定できる機能が追加されました。 業務アプリとしてSOY Shopを活用する際、この新機能により、新規スタッフの教育コスト削減と誤操作による損害リスク軽減に繋がります。このアップデートを含む最新パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopの商品詳細表示プラグインでパンくず中のリンクの設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細表示プラグインで、パンくずのリンク先をカスタマイズできるようになりました。従来、商品詳細ページのパンくず内の「商品一覧」リンクは固定でしたが、今回のアップデートにより、管理画面の商品情報編集画面で任意のURLに変更可能になりました。 これにより、商品カテゴリページ以外にも、特定の特集ページなど、任意のページへリンクさせることができます。変更したURLは、商品詳細表示プラグインで出力されるパンくずに反映されます。 最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopの消費税別表示モジュールで軽減税率の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの消費税別表示モジュールが軽減税率に対応しました。2019年10月からの消費税増税に伴い、モジュールで増税日と税率を設定できる他、軽減税率の設定も可能になりました。軽減税率対象商品は、各商品の編集画面でチェックボックスにより指定します。対象商品の一覧表示機能は現状ありませんが、要望があれば追加予定です。最新版はsaitodev.co/soycms/soyshop/からダウンロードできます。

 

SOY CMSのカスタムフィールドアドバンスドでペアフィールドを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドに、セレクトボックスの値に紐づく値を出力できる「ペアフィールド」が追加されました。記事投稿画面ではセレクトボックスと同様に表示され、設定画面で各項目に「ペア」となる値を設定できます。公開側では`cms:id="****_pair_1"`でペアの値を出力可能。****はフィールドIDです。例えば、`<img src="/img/<-- cms:id="staff_pair_1" /-->.png"`のように複雑なHTMLをシンプルに記述できます。複数ペア設定も可能になりました。この機能を含むパッケージはsaitodev.co/soycmsからダウンロードできます。

 

SOY Inquiryで管理者向けメールの返信先をユーザのメールアドレスのみの設定を設けました

/** Geminiが自動生成した概要 **/
SOY Inquiryで、管理者向けお問い合わせ通知メールの返信先が誤って運営者アドレスになる問題を解消する新機能が追加されました。 従来の「返信先にユーザーアドレスを追加」設定では一部メールクライアントで返信先が運営者アドレスのままになるケースがあったため、新設定「返信先をユーザーアドレスにする」では、返信先をユーザーアドレスのみに限定。これにより、管理者が返信ボタンを押すだけで確実にユーザーに返信できるようになりました。新パッケージはsaitodev.co/soycms/soyinquiry/ からダウンロード可能です。

 

南九州の有村青果さん主催の勉強会で肥料の話をしました

/** Geminiが自動生成した概要 **/
南九州の青果農家向け勉強会で、肥料によるストレス緩和がテーマで講演が行われた。青果農家が抱えるキャベツの寒腐れやカルシウム欠乏などの課題を解決するには、作物が受ける環境ストレスを緩和することが重要とされた。乾燥ストレスを軽減するには牛糞堆肥による土作りが有効で、寒さに対する耐性を高めるには葉物野菜に低温を体験させることが挙げられた。化学肥料だけでなく有機肥料を活用し、作物がより健康的に成長できる環境を整えることが、収穫時期の調整や品質向上に効果的であると説明された。

 

SOY Shopのカスタムフィールドでカテゴリとの関連付けを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopでは、商品情報にカスタムフィールドを追加できるようになりました。さらに、カテゴリごとにカスタムフィールド項目の表示/非表示を設定可能に。これにより、商品編集画面が肥大化せず、必要な情報だけを表示できます。具体的には、カスタムフィールドの項目設定でカテゴリを紐付け、編集画面で関連カテゴリを選択すれば、そのカテゴリに紐付いた項目だけが表示されます。この機能により、商品情報を分かりやすく管理できます。

 

SOY Shopで商品毎にメール文面に挿入できる定型文のプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品毎にメール文面に定型文を挿入できるプラグインが開発されました。特定商品の注文時にのみ必要な情報を伝えるため、ワインの管理方法など、商品に応じた定型文をメールに自動挿入できます。プラグイン設定画面で定型文を作成し、商品登録時に選択することで、注文受付メールに反映されます。これにより、不要な情報を含めずに商品固有の注意点を伝えられます。現在は注文受付メールのみ対応ですが、今後の要望に応じて対応範囲を拡大する可能性があります。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopでカテゴリ商品ブロック生成プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のプラグインで、複数カテゴリの商品一覧を1ページに表示できる機能を追加しました。標準のナビゲーションページではカスタムサーチフィールド等のプラグインとの連携が難しいため、簡易的に商品ブロックと同等の機能を実現するプラグインを開発。管理画面で生成個数を指定すると、`<shop:module>`と`<block:id="item_list">`を使った記述が生成され、`category`属性にカテゴリIDを指定することで各カテゴリの商品一覧が表示されます。カテゴリIDはカテゴリ詳細画面のURL末尾の数字で確認できます。今後はカスタムサーチフィールドにも対応した商品ブロック作成プラグインを開発予定です。現在はカテゴリと表示件数、カスタムサーチフィールドに対応したプラグインを公開中です。

 

SOY Shopでキャンセルが頻繁に発生する事業向けの予約アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、キャンセル発生頻度の高い就学前児童向けWebサービスの予約カレンダーを開発。Googleアカウントログイン機能、仮登録による会員限定アクセス制限、運営者による本登録承認フローを実装。スマホで空き状況確認・予約を簡素化し、クリック操作で予約完了までスムーズな導線を構築。Bootstrapテンプレートのカスタマイズにより操作性を向上。兄弟利用を想定した予約時情報入力機能も搭載。キャンセル発生時の迅速な空き状況更新にも対応。

 

SOY Shopの注文詳細で商品毎に確認済みのステータスを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面に「商品ごとの確認済みステータス」機能が追加されました。これにより、注文内訳の商品ごとにチェックボックスを設け、確認済みの商品にチェックを入れると背景色が変わる視覚的な管理が可能になります。 この新機能は、特に一部商品が不足し「発送待ち」となる注文において、既に集荷済みの商品を「確認済み」として明示的に管理できるよう設計されています。大量の注文を扱うSOY Shopユーザーの受注管理における業務効率化と注文検索の効率向上を大幅に促進します。既存の注文状態追加プラグインと連携することで、さらなる業務改善効果が期待できます。本機能を含むパッケージは公式サイトからダウンロード可能です。

 

SOY CMSでカノニカルURL挿入プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSで現在開いているURLを出力する`cms:id="page_link"`タグが追加されました。これにより、OGPタグなどに動的なURLを挿入できます。また、カノニカルURL挿入プラグインも作成されました。サイト内に同じ内容のページがある場合、canonicalメタタグで重複を回避し、SEOペナルティを防ぎます。プラグインは</head>タグの上に`<link rel="canonical" href="ページURL">`を自動挿入します。ブログ記事では、エイリアス付きURLがカノニカルURLとして使用されます。新機能はhttps://saitodev.co/soycms/からダウンロードできます。

 

SOY Shopで注文状態並び順設定プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態(ステータス)並び替えプラグインが開発されました。 管理画面で注文状態の並び順をカスタマイズでき、業務フローに合わせた表示が可能になります。 以前開発された「注文状態追加プラグイン」で追加したステータスも含め、標準ステータスと合わせて自由に並び替えられます。 発送済み前に梱包済みステータスを配置するなど、業務に合わせた並び順でミスの軽減、作業効率向上が期待できます。 パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY CMSのカスタムフィールドアドバンスドで記事フィールドを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドプラグインに、記事を出力できる「記事フィールド」機能が追加されました。記事の投稿・編集画面で、ラベル設定済みの公開記事を選択し、任意の場所にその記事内容を出力できます。 現状は試作段階で、パフォーマンスへの影響を考慮し、選択可能な記事はラベル設定済みの公開記事20件までに制限されています。これは、長い定型文を記事によって出し分けたいというニーズに応えるための機能で、セレクトボックスから記事を選択する方式です。 制約事項として、記事の投稿・編集画面で指定できるのはラベル設定済みの記事のみ、ラベル指定時のセレクトボックスに表示される記事数は20件、選択できるのは公開記事のみとなっています。これらの制約は、今後の使用状況に応じて調整される予定です。

 

SOY Shopで誰が操作したか?を把握したい

/** Geminiが自動生成した概要 **/
SOY Shopはネットショップだけでなく実店舗の販売管理にも利用されるようになり、複数店舗で「誰が注文を受け付けたのか」を把握するニーズが高まった。従来、各店舗のアカウントで管理すれば変更履歴に対応者IDが残るが、カート注文では意図したIDが記録されない問題があった。そこで、カート注文にはシステム側で特定の値を挿入する機能と、対応者IDで検索できるプラグインを追加。これにより、ネット注文と実店舗注文のどちらでも、対応者による注文の絞り込みが可能になった。このアップデートは地味ながらも、業務効率化に繋がる重要な改善である。

 

SOY CMS版カスタムサーチフィールド

/** Geminiが自動生成した概要 **/
SOY CMSでSOY Shopのカスタムサーチフィールドを使えるように移植しました。カスタムサーチフィールドは、高度な検索フォームを生成するプラグインで、複数カテゴリ対応や商品カテゴリ検索も可能です。専門家検索サイトのような顧客用カスタムサーチフィールドも作成されました。SOY CMS版は、検索フォーム用の「カスタムサーチフィールド」と記事一覧出力用の「カスタムサーチフィールド記事一覧ブロックプラグイン」の2つがあり、用途に合わせて使い分けられます。ダウンロードはsaitodev.co/soycms/から可能です。

 

SOY CMS ASP版運営プラグイン

/** Geminiが自動生成した概要 **/
SOY CMSのASP版を提供するためのプラグインが開発されました。このプラグイン「SOY CMS ASP版運営プラグイン」は、SOY CMSのマルチサイト機能を活用し、利用登録フォームからアカウントと紐付いたサイトを自動作成します。ASP運営者はサーバーにSOY CMSとプラグインをインストールし、利用登録フォームを設置するサイトを作成。フォーム設置後、公開側からの登録でアカウントとサイトが作成されます。これにより、簡単にSOY CMSのASPサービスを提供可能になります。パッケージはsaitodev.co/soycms/からダウンロードできます。

 

SOY CMSで記事一覧をカレンダー形式で表示する

/** Geminiが自動生成した概要 **/
SOY CMS用の「記事カレンダー」プラグインが開発されました。ブログ記事をカレンダー形式で表示し、投稿日を視覚的に把握できます。記事タイトルだけでなく、カスタムフィールドの内容も出力可能で、サムネイルプラグインと組み合わせることで画像表示も可能です。これにより、記事一覧をカレンダー上にサムネイル付きで表示するなど、柔軟な表示を実現できます。予約サイト構築など、従来のカレンダー機能とは異なる点が特徴です。サンプルは「毅と亮子のサラメシ」サイトで確認できます。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

Soil & Geoロガーで現在地の土質と地質を調べよう

/** Geminiが自動生成した概要 **/
Android端末で現在地の土壌と地質を調べるWebアプリをHTML5、Service Worker、IndexedDBを用いて開発。GPSで緯度経度を取得し、オフラインでも動作。取得した情報は農研機構の土壌図、産総研の地質図、Googleマップへのリンク生成に利用。現在Android Chromeのみ対応で、ログは10件保持。Service Worker使用による位置情報取得の不具合調査中。開発中のロガー機能の一部公開で、正式版は非公開。機能追加要望や不具合報告は受け付けていない。Githubでソースコード公開中。

 

SOY Shopの管理画面で業務に関係ない項目を非表示にして業務改善を行おう

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の業務改善として、BtoC商売に不要な「勤務先名称」などの項目を非表示にする機能が実装されました。これは、特に電話注文時の入力ミスを減らし、オペレーターが入力に迷う状況を解消するためです。不要な項目を非表示にすることで、キーボード操作の時短、確認作業の効率化、新入社員向けマニュアル作成の手間削減など、多岐にわたる業務改善と間接的な経費削減が期待されます。本改修は、業務フローの見直しを促し、よりスムーズなショップ運営に貢献します。最新パッケージは公式サイトからダウンロード可能です。

 

自作アプリを介してのGoogle検索でService Unavailableになった

/** Geminiが自動生成した概要 **/
自作PHPアプリでGoogle検索結果を集計する際、cURLで検索を実行したところ「503 Service Unavailable」エラーが発生した。Googleはスクリプトからの自動検索を制限しており、エラーメッセージは異常トラフィックの検出を示していた。解決策として、`curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);`をcURLに追加し、ブラウザのユーザーエージェントを送信するように変更した。これによりエラーが解消し、検索結果の集計が可能になった。単に適当なユーザーエージェントを設定するだけでは解決せず、実際に使用しているブラウザの情報を送ることが重要だった。

 

Go言語 + kintone + チャットワークでタスクの自動登録アプリを作ってみる1

/** Geminiが自動生成した概要 **/
kintoneとチャットワークを連携し、タスクを自動登録するアプリをGo言語で開発する過程を説明。kintoneにアプリを作成し、Go言語でkintoneのREST APIを使用してデータを取得するコードを紹介。APIキー、ID、パスワードを用いて認証し、JSON形式のデータを取得することに成功。今後の課題として、取得したJSONデータをGo言語で扱うための構造体の作成が挙げられている。

 

SOY Shopの注文編集で配達時間帯の編集をセレクトボックス形式に変更しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文編集画面で、配送時間帯の入力をテキストエリアからセレクトボックスに変更しました。 従来、ヤマト運輸B2等外部システムとの連携時に、時間帯の書式誤りによる不具合が発生する可能性がありました。今回の変更で、管理画面上で正しいフォーマットを選択式で指定できるようになり、操作ミスを防止、作業効率改善を実現します。 最新版はsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY CMSを介さずにSOY2HTMLを使ってみる

/** Geminiが自動生成した概要 **/
SOY CMSを使わずにそのテンプレートエンジンであるSOY2HTMLのみを利用する方法を解説。ルートディレクトリにindex.php、webappディレクトリ下に必要なファイルを設置する構成で、index.phpでSOY2ライブラリを読み込み、SOY2HTMLの設定を行う。HTMLファイル(TopPage.html)と対応するPHPファイル(TopPage.class.php)を作成し、soy:idを使った表示内容の変更例を示している。PHPファイルではWebPageクラスを継承し、コンストラクタでHTMLファイルを読み込み、addLabelでsoy:idに対応する値を設定することで、HTMLのsoy:id部分がPHPで指定した値に置き換わって表示される。

 

SOY Inquiryでお問い合わせがあった場合にチャットワークに通知したい

/** Geminiが自動生成した概要 **/
SOY Inquiryでお問い合わせがあった際にChatworkに通知する方法を紹介します。まず、フォーム設置ディレクトリ(例:default)にmail.admin.phpを作成します。このファイルに、Chatwork APIトークン、ルームID、お問い合わせ内容をPOSTするcURLコードを記述します。 APIトークンとルームIDは別途取得が必要です。コード内の`$mailBody[0]`にはお問い合わせ本文が入っています。 設置完了後、テスト送信すると、指定のChatworkルームに「【saitodev.co】お問合わせがありました。」に続いてお問い合わせ内容が通知されます。

 

SOY Shopの注文検索で支払い状況等の複数項目選択モードを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能が強化され、複数項目選択モードが追加されました。従来は注文状況や支払い状況の検索で1つの項目しか選択できませんでしたが、複数選択が可能になり、一度に複数の状況の注文を把握できるようになりました。例えば、「支払い確認済み」と「直接支払い」の注文を同時に検索できます。 以前は、それぞれの状況で個別に検索する必要がありましたが、今回のアップデートにより、複数選択モードに切り替えることで、チェックボックス形式で複数の項目を選択できるようになりました。これにより、業務効率の向上が期待されます。 対応版パッケージはサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

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

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

 

SOY CMSで一つのページで複数のブログページのカテゴリ一覧を出力してみる

/** Geminiが自動生成した概要 **/
SOY CMSで複数のブログページを作成した場合、各ページのカテゴリ一覧を他のページで出力するモジュール「cms:module="common.multi_blog_category"」が追加されました。 使用方法は、モジュール内に「b_block:id="category_on_{ブログページのURI}"」と記述します。これにより、ブログページ毎のカテゴリ一覧を出力できます。 例えば、ブログ1ページ(URI:blog)とブログ2ページ(URI:sub/blog)のカテゴリ一覧を標準ページに出力するには、「b_block:id="category_on_blog"」と「b_block:id="category_on_sub_blog"」を使用します。 このモジュールにより、標準ページから他のブログページのカテゴリ一覧にアクセスし、各ブログのカテゴリページに移動できるようになります。

 

SOY Shop内でパイプハウスの施工管理アプリを開発しました

/** Geminiが自動生成した概要 **/
SOY Shopの在庫管理機能と管理画面からの注文登録機能を拡張し、パイプハウスの見積書作成アプリを開発。従来のエクセル管理では、膨大な部品の仕入れ値確認に時間と手間がかかっていたが、新アプリでは商品登録時に仕入れ値を記録することで、次回以降の見積書作成時の再確認作業を大幅に削減。商品名検索によるカート追加や、検索結果にない場合の即時商品登録機能も実装。さらに、見積書の商品一覧の並び替え機能、注文内容の自動バックアップ機能も追加することで、作業効率と正確性を向上。これらの機能はパイプハウス以外にも応用可能で、既存のネットショップ運営における経費削減にも貢献する。開発したパッケージは専用サイトからダウンロード可能。

 

SOY Shopで返金管理プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop向け返金管理プラグインが開発されました。注文詳細画面から返金・増額の振込額や銀行口座情報を登録可能になり、管理画面の注文一覧検索で返金関連情報による絞り込み検索もできるようになりました。 プラグインはsaitodev.coからダウンロードできます。 このプラグインは、注文毎のキャンセルや変更に伴う返金・増額を記録し、処理状況を追跡する機能を提供します。注文状態に「返金処理待ち」ステータスも追加され、より詳細な注文管理が可能になります。 これは、既存の注文検索フォーム拡張ポイントと注文状態・支払状況フラグ追加拡張ポイントを利用して実現されています。

 

SOY Shopの伝票番号記録プラグインで複数個口対応しました

/** Geminiが自動生成した概要 **/
SOY Shopの伝票番号記録プラグインが複数個口配送に対応しました。以前作成したプラグインでは伝票番号を1つしか登録できませんでしたが、複数枚の伝票が必要なケースに対応するため、カンマ区切りで複数登録できるよう改良されました。 商品の大きさや段階的配送などで複数の伝票番号が発生する場合に便利です。現状はどの伝票番号がどの商品に対応するかの詳細管理まではできませんが、複数伝票番号の記録を実現しました。改良版プラグインはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopのクーポン自由設定プラグインでカテゴリを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに、クーポンをカテゴリ分けする機能が追加されました。クーポンコードの接頭辞をカテゴリ毎に設定できるため、クーポン登録時に規則を覚えていなくても自動入力できます。例えば、「gaku」で始まるクーポンは値引き額、「ritu」で始まるクーポンは値引率といった設定が可能です。 新規登録時、カテゴリを選択すると接頭辞が自動挿入されます。この機能は管理画面での注文時にも有効で、接頭辞が表示されるためクーポンコードを思い出すヒントになります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

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

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

 

SOY CMSのカテゴリー詳細表示プラグインでWYSIWYGエディタに対応しました

/** Geminiが自動生成した概要 **/
SOY CMSのカテゴリー詳細表示プラグインがアップデートされ、WYSIWYGエディタ(TinyMCE)に対応しました。ユーザーからの要望に応え、ラベルの詳細編集画面でHTMLタグだけでなく、画像や動画も手軽に挿入できるようになりました。プラグインの詳細設定でWYSIWYGエディタの使用をチェックすることで有効化できます。このアップデートにより、よりリッチなコンテンツをカテゴリー詳細に表示することが可能になります。最新のパッケージはsaitodev.co/soycms/からダウンロードできます。

 

こと京都さんの社内研修で病気の予防の話をしました

/** Geminiが自動生成した概要 **/
京都農販は、こと京都の社内研修でネギの軟腐病予防について講演しました。こと京都からの要望は、ネギ軟腐病予防に関する最新の研究論文に基づいた情報の提供でした。 講演では、軟腐病菌の侵攻阻止メカニズムと、有効な予防薬がない現状における肥料の活用や植物生理、特にシグナルの理解の重要性を強調しました。防御ホルモンであるサリチル酸に着目し、植物の抵抗性を高める戦略についても解説しました。現在、京都のネギ栽培に適した農薬は認可されておらず、肥料の効果的な活用や植物シグナルの操作による効率的な予防法の開発が今後の課題となっています。

 

京都市肥料講習会で基肥と予防の話をしました

/** Geminiが自動生成した概要 **/
京都農販は、京都市肥料講習会で農家・職員向けに肥料の勉強会を実施しました。昨年は堆肥の土作りについて、今年はアミノ酸肥料を中心とした基肥設計と予防対策について講演しました。秀品率向上のため、基肥設計で丈夫な株を作り、酸素供給剤とアミノ酸肥料で病原菌抑制と免疫向上を図る手法を解説。農薬防除の回数を減らすための施肥設計の見直し、酸素供給剤の効果、葉物野菜の甘味向上など関連情報も紹介しました。

 

SOY Shopの注文詳細の内訳で商品の並び替えの変更を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細に、商品表示順の変更機能が追加されました。従来の納品書出力では、注文商品の表示順が固定でしたが、今回のアップデートで管理画面からドラッグ&ドロップで自由に並び替えが可能になりました。 これは、一度に数十種類の商品を注文するユーザーからの、ピッキングや梱包作業効率化の要望に応えたものです。新しい並び順は納品書にも反映されるため、検品や梱包ミス軽減に繋がります。この機能は、開発中の在庫管理と見積書作成機能にも応用され、業務効率化に貢献します。アップデートパッケージはsaitodev.coからダウンロード可能です。

 

働きたくないイタチと言葉がわかるロボット

/** Geminiが自動生成した概要 **/
プログラミング学習者へ「働きたくないイタチと言葉がわかるロボット」と「自動人形の城」を推薦。前者は言葉を理解するロボット開発を目指す動物たちの物語、後者は完成したロボットと暮らす王子の物語。どちらも言語学者によるAIをテーマにした作品で、高度な内容ながら読みやすい。ロボットへの指示を通して、プログラミングに必要な明確な指示や論理的思考、非プログラマとの認識の違いを体感できる。加えて「できる人」の考察もあり、ビジネスコミュニケーションにも役立つ。著者の過去作品「白と黒のとびら」も良書。

 

SOY Shopの代引き支払いモジュールで地域ごとの手数料設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの代引き支払いモジュールがアップデートされ、地域ごとの代引き手数料設定が可能になりました。従来の一律手数料に加え、地域別に異なる手数料を設定できるテーブルが追加されました。 これにより、地域ごとの手数料差異に対応できるようになります。アップデート版パッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY Shopの最近更新した商品表示プラグインで表示件数の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の新着ページに表示される「最近更新した商品」の表示件数を変更できるプラグインが開発されました。従来は5件固定でしたが、プラグインの設定画面で自由に件数を設定可能になりました。また、更新履歴のない商品は表示されないよう改善されました。このプラグインは、新着ページのコンテンツをプラグイン化することで実現しており、表示内容のカスタマイズを容易にしています。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。

 

SOY CMSのブロックから出力されるリンクで外部サイトのURLを使用したい

/** Geminiが自動生成した概要 **/
SOY CMSのブロックで、タイトルリンクを外部サイトに設定する方法を紹介します。まず、カスタムフィールドアドバンスドをインストールし、リンクタイプのフィールド(例:out_site_link)を追加します。記事投稿時に、このフィールドに外部サイトのURLを入力します。次に、ページテンプレートのブロック内にあるタイトル出力部分の`<a>`タグに、`cms:id="out_site_link"`属性を追加します。例:`<a cms:id="out_site_link"><cms:id="title_plain" /></a>`。これで、ブロックのタイトルが指定した外部サイトへのリンクになります。この方法は、ブログページ専用の`b_block:id="entry"`や`b_block:id="entry_list"`内でも同様に利用可能です。

 

SOY Shopの標準配送モジュールでカレンダー形式でお届け日指定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの標準配送モジュールがアップデートされ、お届け日指定をカレンダー形式で入力できるようになりました。従来のセレクトボックス形式に加え、カレンダー形式を選択可能になり、日付の選択範囲も設定できます。 これは試作段階で、カートでのjQueryライブラリの読み込み状況に関わらず動作するよう改良中です。需要があれば、未対応箇所の開発も進められます。最新版はsaitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY CMSとSOY Shopで置換文字列生成プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS/Shop用の置換文字列生成プラグインが開発されました。これにより、ユーザーはCMSとShopの両方で任意の置換文字列を生成できます。プラグインは、サイト運営者が動的なコンテンツを生成したり、パーソナライズされたメッセージを表示したりするのに役立ちます。画像は、CMSとShopでのプラグインの設定画面を示しています。最新のパッケージはsaitodev.coからダウンロードできます。

 

SOYCMS検索結果ブロックプラグインでページャを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの検索結果ブロックプラグインにページャ機能が追加されました。これにより、複数ページにわたる検索結果を容易に閲覧できるようになりました。以前の記事で紹介されたb_blockの問題を解決するcms:module="blogparts"に続き、今回は検索結果の質向上を目指した改善です。ページャはプラグインの詳細にあるサンプルコードを貼り付けるだけで設置可能。また、Gravatar連携プラグインと併用することで、複数人運営ブログでの表示も改善されます。これらのアップデートを含むパッケージはsaitodev.co/soycms/からダウンロードできます。

 

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

/** Geminiが自動生成した概要 **/
SOY CMSのブログ機能強化のため、Gravatar連携プラグインを作成しました。このプラグインは、Gravatarのプロフィール情報をSOY CMSで利用できるようにするものです。Gravatarでプロフィールを作成しメールアドレスと紐づけることで、SOY CMS側でその情報を表示できます。複数人の著者情報を取得・出力し、著者ごとの記事一覧ページも作成可能です。プラグインブロックを活用することで、著者プロフィールをブログページに容易に組み込むことができます。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopでカテゴリ用のカスタムサーチフィールドを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopはカテゴリ向けカスタムサーチフィールドを追加。既存のカスタムサーチフィールドに統合し、カテゴリ詳細検索を強化しました。これにより、親子関係を超え、特定の条件を満たす複数カテゴリに紐付く商品を検索可能に。より詳細な商品検索フォームの設置を実現します。新機能は公式サイトで提供中です。

 

SOY CMSでよく読まれている記事一覧プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用の人気記事一覧プラグインが新たに開発されました。 ブログ記事詳細ページの表示回数をカウントし、サイト内の全ブログを集計してランキング表示します。表示時間による重み付けなどは行いません。プラグインの設定方法は画像付きで詳細ページに記載されています。最新版を含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOYCMS同一カテゴリーの記事一覧ブロックプラグイン

/** Geminiが自動生成した概要 **/
SOY CMSの記事詳細ページで、同じカテゴリの記事一覧を表示する「同一カテゴリーの記事一覧ブロックプラグイン」が開発されました。このプラグインは、SOY CMSのプラグインブロック上で動作し、ブログページの記事ページでのみ機能します。プラグインブロックの使い方については、別記事「SOY CMSでプラグインブロックを追加してみた」を参照ください。ダウンロードはsaitodev.co/soycms/ から可能です。

 

SOY Shopの商品ごと送料設定モジュールで標準設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品ごと送料設定モジュールに、標準送料設定機能が追加されました。以前作成したモジュールでは、商品ごとに送料を設定しない場合、送料が0円になる問題がありました。今回のアップデートで、管理画面に標準送料設定項目が追加され、商品ごとの設定がない場合はこの標準設定が適用されるようになりました。これにより、商品追加時の手間が軽減され、送料設定漏れによる0円表示も防げます。アップデート版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

SOY Shopで通常価格とセール価格が異なる時のみセール価格を表示したい

/** Geminiが自動生成した概要 **/
SOY Shopで、通常価格とセール価格が同じ場合にセール価格を非表示にする機能が追加されました。セール価格が通常価格と同一でも登録必須であるSOY Shopの仕様に対応し、表示の重複を避けるためです。 新タグ`cms:id="is_normal_price_diff_from_sale_price"`を使用すると、価格が異なる時のみセール価格も表示され、同じ場合は通常価格のみ表示されます。これにより商品ページの見栄えが向上し、消費税別表示モジュールとも連携可能です。最新版はダウンロード提供されています。

 

SOY Shopで商品ごと送料設定モジュールの試作を作成してみました

/** Geminiが自動生成した概要 **/
SOY Shop用の商品ごと送料設定モジュールが試作されました。複数の作家がそれぞれ異なる送料で商品を販売する場合、商品ごとに送料とメールアドレスを設定できるようになります。同じ作家から複数商品を購入しても送料は1個分のみ加算されます。注文時には作家にも通知メールが送信されます。デモ画像では商品情報登録画面に地域別送料とメールアドレス入力欄が追加されています。このモジュールはサイト(/soycms/soyshop/)からダウンロード可能です。商品ごとではなくカテゴリごとに設定すれば、カテゴリ=作家として複数商品の送料を一括管理も可能になります。作家の商品販売に関する要望は問い合わせページ(/soycms/inquiry)から受け付けています。

 

SOY Shopの簡易予約カレンダー使用時のメール文面の変更について

/** Geminiが自動生成した概要 **/
SOY Shopの簡易予約カレンダーで、注文メールの表記を「商品名」から「予約名、日付、ラベル」に変更できる連携機能が追加されました。 メールビルダープラグインで`#RESERVED_LIST#`という置換文字列を使用することで実現可能です。 従来は商品名、商品コード、数量、価格が表示されていましたが、この変更により、例えば「カレンダーA 2017-5-29 午前」のような予約情報が表示されるようになります。 この機能を利用するには、簡易予約カレンダーとメールビルダープラグインがインストールされている必要があります。 注文関連メールの自動出力箇所はメールビルダーで変更可能です。最新版は公式サイト(https://saitodev.co/soycms/soyshop/)からダウンロードできます。

 

SOY Shopでフォーマットなしの商品価格を表示する

/** Geminiが自動生成した概要 **/
SOY Shopで商品価格の数字をカンマ無しで表示したいという要望に応えるため、カンマなし商品価格表示プラグインを作成した。標準機能のcms:id出力ではPHPのnumber_format関数により価格にカンマが入ってしまうため、プラグインでnumber_format関数をかまさないcms:idを追加する。プラグイン有効化後、テンプレートを修正することでカンマなし価格が表示される。プラグイン導入により、不要なユーザーに余計な処理負荷をかけることなく要望に対応できる。対応版パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能。

 

SOY Shopでカスタムサーチフィールド(子商品一覧)を追加しました

/** Geminiが自動生成した概要 **/
SOY Shop向けプラグイン「カスタムサーチフィールド」に新機能「子商品一覧」が追加されました。この機能により、子商品のみを表示する商品一覧ページと検索結果ページを作成できます。親商品名とカテゴリ名も表示可能で、深い階層の商品カタログサイト構築に役立ちます。同時に、カスタムサーチフィールドで範囲項目と商品情報項目の併用時に検索機能が動作しない不具合も修正されました。改良版プラグインはサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

SOY Shopの顧客検索で登録状態の項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客検索機能に「登録状態」項目が追加され、仮登録顧客の数が把握できるようになりました。管理画面の顧客検索で「登録状態:仮登録」をチェックすることで、仮登録顧客のみを絞り込み検索できます。これにより、仮登録顧客の数を簡単に確認できます。このアップデートを含む最新パッケージは、saitodev.co/soycms/soyshop/ からダウンロード可能です。

 

SOY CMSのブログ設定でカテゴリ分けで使用するラベルを一括で外すボタンを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ設定において、カテゴリ分けに使用するラベルを一括解除するボタンが追加されました。ユーザーからの要望に応え、複数選択されているラベルチェックボックスを一度にオフにする機能です。この改善により、ブログ記事のカテゴリ分け作業が効率化されます。追加されたボタンの画像は記事内で確認できます。本機能を含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

SOY Shopで予約サイトを運営する

/** Geminiが自動生成した概要 **/
SOY Shopは、多様なニーズを持つ予約サイト構築・運営に対応しました。これまで個別開発していた予約システムをSOY Shopの既存機能を活用し、汎用性の高いプラグインとして提供。これにより、管理画面での予約状況確認、公開側のカレンダー表示、カート連携による予約受付をネットショップ機能に影響なく実現します。スケジュールに価格情報を持たせることで、0円の無償予約から有償予約まで柔軟に対応可能。会場貸出のような用途も想定されており、最新版SOY Shopで「簡易予約カレンダー」プラグインを有効化するだけで簡単に導入できます。

 

ネットショップの開発に関わっていて一番すごいと感じたサイトについて

/** Geminiが自動生成した概要 **/
オープンソースのネットショップパッケージは自由度が高い反面、軌道に乗った後に様々な問題に直面する。初期の低コストは魅力だが、カスタマイズの自由が仇となり、複雑化・属人化しやすい。機能追加や修正に開発者への依存度が高まり、コストも増加。また、セキュリティ対策やバージョンアップの手間も発生する。さらに、事業拡大に伴うアクセス集中や多言語対応など、予期せぬ課題への対応が必要となる。結果として、運用コストが肥大化し、当初のメリットが失われる可能性がある。長期的な視点で、拡張性・保守性・運用コストを考慮したプラットフォーム選びが重要となる。

 

さくらの共有サーバで二つのショップサイトを独自ドメインで運営する方法について

/** Geminiが自動生成した概要 **/
さくら共有サーバーのスタンダードプランで、二つの独自ドメインショップサイトをSNI SSLで運営する方法。まず、mainsite.jpをルートディレクトリに設置し、SNI SSLを設定。設定ファイル内のURLを独自ドメインに変更する。次に、subsite.jpをsubディレクトリに設置し、マルチドメイン設定とSNI SSLを設定。設定ファイル内のURLも変更。最後に、subディレクトリの.htaccessに`RewriteBase /`を追加することで、subsite.jpのサブページへのアクセスエラーを解消する。

 

SOY Shopの注文一覧で表示する項目の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の注文一覧表示項目をカスタマイズできる機能が追加されました。従来、表示項目の変更はシステム破綻のリスクを伴うため推奨されていませんでしたが、要望の多さを受けて実装されました。管理画面の設定画面から表示/非表示を切り替えられます。ただし、全ての項目を表示すると画面が見づらくなるため、運営のスリム化も合わせて検討するよう促しています。変更はGitHub上のSOY Shopパッケージに反映されています。

 

SOY Shopで特別会員価格設定プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの特別会員価格プラグインは、顧客属性を利用して会員別に特別価格を設定できる。在庫管理の手間を増やすことなく、卸売業者や常連客への優待価格を提供可能。このプラグインは、購入回数属性自動振り分けプラグインやSOY Mail連携機能と組み合わせることで、会員セグメントに合わせた効果的な販促を実現する。例えば、SOY Mailで特別会員に販促メールを送信し、クーポンなしで特別価格を提供、さらに送料無料クーポンを配布することで購買意欲を高めるといった戦略が可能になる。最新版はGitHubからダウンロードできる。

 

SOY Shopのプラグインやモジュールの複製方法

/** Geminiが自動生成した概要 **/
SOY Shopのプラグイン複製は、対象ディレクトリ(例:payment_furikomi)を丸ごと複製し、名前を(例:payment_furikomi2)に変更する。ファイル名、クラス名、モジュールID(payment_furikomi→payment_furikomi2、PaymentFurikomi→PaymentFurikomi2など)を全て変更する。module.iniのモジュールIDも修正。拡張ポイントファイル(soyshop.***.php)やUtilクラスなども同様に置換。HTMLファイルは修正不要。PHPの知識があれば複製後、自由に修正可能。

 

SOY Shopの商品詳細ページで登録されている商品をランダムで表示する

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページで登録商品をランダム表示するPHPモジュールを作成する方法です。まず、管理画面でモジュールID「item.random」のPHPモジュールを作成し、指定のコードを記述します。このコードはSOY2DAOを使い、全商品、または指定カテゴリの商品をランダムに取得し、表示件数を制限するSQLを実行します。商品詳細ページテンプレートに`<!-- shop:module="item.random" -->`と`<!-- block:id="random_item_list" -->`を記述することで、ランダムに選ばれた商品が表示されます。カテゴリを指定するには、`$categoryId`変数にカテゴリIDを代入します。

 

SOY Shopでメールテンプレートを追加できるプラグイン

/** Geminiが自動生成した概要 **/
SOY Shop用の「メール送信種類追加プラグイン」が開発されました。このプラグインは、管理画面から送信可能なメールテンプレートを自由に増やすことができます。注文詳細画面のメール送信項目に、任意のテンプレートを追加し、柔軟なメール送信が可能になります。 新機能として、メールテンプレート編集画面で注文詳細情報の出力を選択できるようになりました。また、「SOY Shopのメールビルダから出力される商品一覧に並び順設定を追加しました」で紹介されている並び順設定機能にも対応しています。さらに、伝票番号など、既存プラグインの情報もメール本文に挿入できるようになり、置換文字列も追加されました。プラグインパッケージはsaitodev.coからダウンロード可能です。

 

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

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

 

カスタムサーチフィールドの商品一覧ページで並び替えを追加

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドで複数カテゴリのような商品一覧ページを作成できる機能に加え、新たにソート機能が追加されました。カテゴリとして使用したフィールド以外の値で商品を並び替えることが可能になります。ソートボタン設置プラグインと同様のアンカータグをカスタムサーチフィールド側で設定できるようになりました。この機能追加により、より柔軟な商品表示が可能になります。追加機能を含むパッケージはGitHub(https://github.com/inunosinsi/soycms/tree/master/package)で公開されています。

 

SOY Shopのオーダーカスタムフィールドの項目でファイルを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopで商品注文時にファイルアップロードできるカスタムフィールド機能が追加されました。管理画面で「ファイル」種別の項目を作成すると、カートにアップロードフォームが表示され、注文完了後、管理画面のファイルマネージャで確認できます。ファイル名は日付に変換され上書きは防止されます。ストレージプラグインと併用すればダウンロードURLも利用可能です。現在は拡張子やファイルサイズ制限機能はありませんが、アップロード許可する拡張子設定は追加されました。要望があればお問い合わせください。この機能はhttps://saitodev.co/soycms/soyshop/のパッケージで利用可能です。

 

SOY Shopで繁盛レポートプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用の繁盛レポートプラグインが開発されました。このプラグインは、商品の人気度と注文頻度を可視化し、売上に貢献することを目指しています。カートとマイページ以外のページに設置でき、注文状況と購入者の都道府県を表示します。これにより、どの商品がどれくらい売れているか、どの地域からの需要が高いかを把握できます。高頻度の注文が発生するショップで特に有効です。プラグインはGitHub上の開発者のリポジトリで公開されています。

 

私にとっての農業とSOY Shop

/** Geminiが自動生成した概要 **/
新規就農者は、野菜の栽培で手一杯のため、販売に割く時間がない。そのため、野菜の価格決定権が市場に握られ、価格が下がった際に収入が不安定になりやすい。この問題を解決するために、営業不要で販路を確保できるネットショップ活用が有効だ。研修中に開発したECサイト構築システム「SOY Shop」を導入し、自ら販売サイトを構築。ブログやSNSで情報発信し、顧客との直接的な関係を築くことで、安定した経営を実現した。この成功事例は他の新規就農者にも参考になるだろう。

 

SOY Mailで誕生日で絞り込みを追加しました

/** Geminiが自動生成した概要 **/
SOY Shop連携機能を持つSOY Mailに誕生日検索機能が追加されました。顧客の誕生月を指定してメルマガ配信が可能になり、誕生月キャンペーンなどの告知に活用できます。月のフォームに数字を入力することで、指定の月に誕生日を迎える顧客のみにメールを送信できます。この機能はSOY Shop連携時にのみ利用可能です。ダウンロードはGitHubのsoycmsリポジトリ(packageディレクトリ)から行えます。

 

SOY Shopで注文変更の際に代引き手数料の自動計算を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文変更画面で、代引き手数料を自動計算する機能が追加されました。 従来、注文内容変更時に商品個数を変更すると、代引き手数料を手動で修正する必要がありましたが、この機能により自動で再計算されます。例えば、商品価格の合計が10,000円を超えて手数料が無料になる場合など、変更後の金額に応じて手数料が自動更新されます。この機能は代引き支払いモジュールの設定で有効/無効を切り替え可能です。消費税の自動計算にも対応しており、要望があれば配送モジュールの手数料自動計算も検討されます。関連パッケージはGitHubで公開されています。

 

SOY Shopで伝票番号記録プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのドットインパクトプリンタ伝票印刷プラグインに、伝票番号記録機能が追加されました。管理画面の注文詳細画面に伝票番号入力フォームが追加され、入力した番号は注文履歴に記録されます。記録された伝票番号は、支払確認メールや配送確認メールに自動挿入されるため、顧客へのスムーズな情報伝達に役立ちます。この機能追加を含む最新パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopで集計プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用の売上集計プラグインが開発されました。月次・日次・商品別・年齢別の売上データをCSV出力でき、手数料や値引きの算入設定も可能です。既存の統計プラグインとは異なり、出力CSVは他の計算にも利用できます。このプラグインはGitHub上のsoycmsパッケージに含まれています。高速化された統計プラグインに関する情報も提供されています。

 

サイトマップ結合プラグインからサイトマップページを作成してみよう

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopのサイトマップを統合するプラグインを活用し、サイトマップページを作成する方法を紹介。モジュールを作成し、統合XMLを読み込み、各URLからページタイトルを取得してリンクを生成するPHPコードを記述。無限ループ対策としてGETパラメータ`xml_search`を使用。しかし、各ページのHTMLを取得する処理が重く、キャッシュ生成の必要性が示唆されている。

 

SOY Shopで即日配送モジュールを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの即日配送モジュールは、注文後すぐに発送手続きを行うネットショップ向けに開発されました。カート画面で即日配送を選択可能にし、サイト全体に説明文を表示できます。営業時間外への対応として、営業日カレンダープラグインと連携し、定休日や営業時間の設定が可能です。さらに、午後の注文で翌日到着になる場合、到着予定日を自動的に調整する機能も備えています。このモジュールはGitHub上のinunosinsi/soycmsパッケージに含まれています。

 

SOY Shopの標準配送モジュールにお届け日の指定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの標準配送モジュールに待望のお届け日指定機能が追加されました。従来は個別対応でしたが、今回標準機能化。営業日カレンダープラグインと連携し、定休日や連休を考慮したお届け日候補を表示。設定の肥大化を避けつつ、柔軟な配送設定を実現しています。指定可能期間や連休明けからの換算表示など、ユーザーフレンドリーな設計です。この機能追加により、今後の機能拡張にも期待が高まります。パッケージはGitHubで公開中。

 

SOY Shopでカートに一括で商品を入れてみる

/** Geminiが自動生成した概要 **/
SOY Shopでカートに複数商品を一括登録する方法。商品詳細ページのテンプレートに `<input type="hidden" name="item[]" value="商品ID">` を複数記述することで実現できる。`<form cms:id="item_cart_default_form">` で囲まれたフォーム内に、hiddenで指定した商品IDのinput要素を配置する。カートに入れるボタンを押すと、これらのhiddenの値が商品IDとしてカートに追加される。

 

SOY Shopのポイント支払いプラグインで使用するポイントを指定するフォームを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのポイント支払いプラグインに、使用ポイントを指定するフォームが追加されました。以前は全ポイント使用のみでしたが、今回追加されたフォームで任意のポイント数を入力して使用できるようになりました。 全ポイント使用のチェックボックスも引き続き利用可能です。新機能は、GitHub上のSOY Shopパッケージ(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)からダウンロードできます。

 

SOY CMS/Shopのブロックで最初とそれ以外のデータで表示を変えたい

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのブロックで、記事一覧表示の際に最初の要素とそれ以降で表示を変える方法を紹介しています。HTMLListクラスの`soy:id="at_first"`と`soy:id="not_first"`を用いることで、最初の記事ではサムネイルを200px、2つ目以降の記事では150pxで表示する例を挙げています。具体的なコードも示されており、画像のサイズ変更にはサーバサイドの画像圧縮機能を活用しています。さらに、`cms:id="content" cms:length="250"`で記事本文を250文字に要約して表示する方法にも触れています。

 

SOY Shopで商品規格プラグインと非同期カートボタンプラグインを一緒に使いたい

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインと非同期カートボタンプラグインの同時利用が可能になりました。商品規格の選択後、非同期カートボタンを押すと、ボタン上にカート投入の通知が表示され、カートページで確認できます。画像は、商品規格選択画面、ボタン押下後の通知、カート内の商品規格適用済み商品を示しています。最新版はGitHubのsoyshopパッケージからダウンロード可能です。

 

SOY Shopで商品規格プラグインと入荷通知プラグインを一緒に使いたい

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインと入荷通知プラグインを併用できるよう修正。入荷通知プラグインは在庫切れ商品に入荷通知登録リンクを追加し、在庫補充時に登録者にメールを送信する機能。今回の修正で、商品規格プラグイン利用時にも規格ごとの在庫管理と入荷通知が可能になった。つまり、規格ごとに在庫切れ/入荷通知リンクを表示し、特定規格の在庫補充時に該当規格の入荷通知登録者にメールを送信できる。最新パッケージはGitHubからダウンロード可能。

 

SOY Shopの非同期カートボタンプラグインでボタンを押した後にフキダシ表示を追加してみた

/** Geminiが自動生成した概要 **/
SOY Shopの非同期カートボタンプラグインに、商品追加時の視認性向上のため、吹き出し表示機能が追加されました。従来、縦長のページではカート投入後の変化が分かりづらいという課題がありました。今回のアップデートで、ボタン押下直後にカートの中身を表示する吹き出しが現れ、ユーザーは商品が正しくカートに追加されたことを確認できます。吹き出しの位置はボタンの座標から計算され、上部に表示されるよう設計されています。ただし、サンプル数が少ないため、表示の不具合発生時は連絡が推奨されています。プラグインのダウンロードと詳細はSOY CMSフォーラムで確認可能です。

 

SOY Shopの納品書作成プラグインで初回購入の表示設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの納品書作成プラグインに、初回購入者識別機能が追加されました。管理画面で設定を有効化すると、初回購入者の納品書に「初回購入」と表示されます。この機能はプラグインだけでなく、SOY Shop本体にも変更が加えられています。利用するには、GitHub上の最新版(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)をダウンロードする必要があります。

 

SOY Shopのクーポン自由設定プラグインで送料無料クーポンを発行できる様にしました

/** Geminiが自動生成した概要 **/
SOY Shopのクーポン自由設定プラグインに送料無料クーポン発行機能が追加されました。管理画面で「送料無料」にチェックを入れてクーポンを作成すると、カートで利用時に送料と同額が値引きされます。値引き額/率に加えて送料無料クーポンも発行可能になったことで、より柔軟なクーポン設定が可能になります。最新版はGitHub(https://github.com/inunosinsi/soycms/tree/master/package/soyshop)からダウンロードできます。

 

SOY CMSのブログで記事表示順番号(通し番号)を出力させたい

/** Geminiが自動生成した概要 **/
SOY CMSのブログで記事の表示順番号(通し番号)を出力する方法を紹介します。記事一覧を出力するブログテンプレートで、`<div>この記事は何記事目?→<strong><!-- soy:id="index" --></strong>1<strong><!-- /soy:id="index" --></strong>記事目</div>`のように`soy:id="index"`を記述することで、記事の表示順番号が出力されます。これはSOY2HTMLのHTMLListクラスの機能を利用しています。HTMLListには最初/最後の記事用のタグや、特定の条件に一致する記事用のタグなども用意されています。

 

SOY ShopにEC CUBE2.4系のログインチェックを導入しました

/** Geminiが自動生成した概要 **/
EC-CUBE2.4系からSOY Shopへの移行時に、顧客のパスワードをそのまま利用できるようログインチェック機能を導入。EC-CUBEとSOY Shopのパスワード暗号化方式の違いを考慮し、SOY Shop側でEC-CUBEの暗号方式を適用する処理を追加。暗号化パスワードにスラッシュの有無でEC-CUBEかSOY Shopかを判別。EC-CUBE2.4.4以前のバージョンに対応しており、顧客がパスワードを変更すればSOY Shopの方式に自動更新されるため、特別な切り替えは不要。将来的には2.11.1以降のバージョンにも対応予定。修正版はフォーラムまたはGitHubから入手可能。

 

SOY Shopで顧客属性を一括で設定できるページを作成してみた

/** Geminiが自動生成した概要 **/
SOY Shopの顧客属性を一括変更できる機能が追加されました。顧客一覧画面で対象顧客を選択し、追加したい属性値を入力して登録すれば、選択した顧客の属性に値が一括追加されます。また、削除したい属性にもチェックを入れて削除ボタンをクリックすれば、選択した顧客の属性値を一括削除できます。この機能はGitHub上のSOY Shopパッケージで利用可能です。

 

ブログで絵文字の機能は使わない方が良いかもしれない

/** Geminiが自動生成した概要 **/
SOY CMSで絵文字を使うと、画像パスにCMSのインストールディレクトリが含まれるため、管理画面のURLが推測されやすく、総当り攻撃の標的になる危険性がある。記事に絵文字を使いたい場合は、画像パスを外部の無関係な場所に配置し、管理画面URLを特定できないようにする必要がある。そうでない場合は、侵入検知機能の導入が必須となる。 記事では絵文字の危険性を指摘し、対策として画像パスの変更と侵入検知システムの導入を推奨している。

 

SOY CMSのブログで投稿されたコメントを編集したい

/** Geminiが自動生成した概要 **/
SOY CMSブログのコメント編集機能が拡張されました。従来はコメント本文のみ編集可能でしたが、要望に応えタイトルと投稿者名の編集も可能になりました。管理画面のコメント一覧から該当コメントを選択し、「タイトル」または「投稿者名」ボタンをクリックすると編集フォームが表示され、変更が可能になります。投稿日時と記事タイトルの編集には未対応です。この機能の詳細はSOY CMSフォーラムで公開されています。

 

SOY Shopで非同期で商品をカートに入れたい1

/** Geminiが自動生成した概要 **/
SOY Shopで非同期に商品をカートに入れる方法を解説。Ajaxを用いて、カートボタンクリック時にページ遷移なしでカートに追加する。まず、JavaScriptでカート操作URLへの非同期通信を行う関数を定義。次に、カートボタンのHTMLを書き換え、この関数を実行するように変更する。これによりカートへの追加自体は非同期で行われるが、画面上のカート情報は更新されない。次回、この点を改善し、カート追加をユーザーに分かりやすく表示する方法を解説予定。

 

SOY CMSの記事投稿画面で絵文字を使いたい

/** Geminiが自動生成した概要 **/
SOY CMSの記事投稿画面にYouTube動画の挿入ボタンを追加する方法を紹介します。TinyMCEのプラグインを自作することで実現できます。まず、プラグイン用のJavaScriptファイルを作成し、動画URLの入力フィールドと挿入ボタンを配置します。次に、ボタンクリック時の処理を記述し、入力されたURLから埋め込みコードを生成、エディタに挿入します。この際、正規表現を用いてURLの形式を検証し、不正なURLは受け付けないよう実装することで安全性を高めます。作成したJavaScriptファイルをTinyMCEの設定ファイルに読み込み、ツールバーに自作プラグインのボタンを追加することで、記事投稿画面から手軽にYouTube動画を埋め込めるようになります。

 

ヨガスタジオCORE様サイトの予約管理アプリを開発しました

/** Geminiが自動生成した概要 **/
池田・川西・箕面・北摂の空中ヨガスタジオCORE様の予約管理アプリを開発。SOY ShopとSOY Calendarをベースに、複数インストラクター・レッスンの登録、会員による予約状況確認・予約機能を実現。会員管理はSOY Shopの顧客管理機能を活用し、ネットショップ展開やSOY Mail連携によるメルマガ配信も容易に実現可能。少ない労力で多様なニーズに対応できる設計となっている。予約ページは https://ys-core.com/schedule/ 。

 

SOY Shopにステップメールを追加してみた

/** Geminiが自動生成した概要 **/
SOY Shopで売れるネットショップ構築を目指す中で、ステップメール機能を追加。ステップメールとは、登録されたメールアドレスに、設定した順番と送信日で複数メールを自動配信する仕組み。高額商品や定期購入など、購入前に段階的な情報提供が必要な場合に有効。ブログ記事やメルマガでは難しい、順序立てた情報提供と継続的な顧客接点を可能にする。オフライン閲覧、サイトへの継続アクセス促進といったメリットも。SOY ShopではSOY Mail連携でステップメール後のメルマガ配信も可能。古典的な手法ながら、アプリ連携で強力な販促ツールとなる。

おすすめの検索キーワード
おすすめの記事

Powered by SOY CMS   ↑トップへ