ブログ内検索

プログラミング教室
オンライン肥料教室を開催しています
検索キーワード:「項目」
 

SOY Inquiryでカレンダーカラムを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryに新機能「カレンダーカラム」が追加されました。これにより、お問い合わせフォームなどでカレンダーから日付を簡単に選択できるようになります。 従来は一行テキストカラムで日付ピッカーを実装できましたが、定休日設定や特定の日以降の選択といった詳細な設定が不可能でした。今回のカレンダーカラムでは、カレンダー用のJavaScriptコードが自動生成され、管理画面から細かな日付選択設定が可能に。フォーム作成の自由度が大幅に向上し、イベント予約や来店日時指定など、様々なシーンでのユーザー体験向上に貢献します。最新パッケージは公式サイトからダウンロード可能です。

 

SOY Shopのユーザーカスタムフィールドで注文CSVの設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopは、ユーザーカスタムフィールドの機能を拡張しました。これにより、顧客が入力したカスタムフィールドの情報(例:所属)を、注文CSV出力時の顧客情報末尾や、管理画面の注文確認画面に表示するかどうかを細かく設定できるようになります。この機能は、商品の配送に重要な「お客様の所属」といった情報を注文CSVでフィルタリング可能にし、まとめて発送する際の煩雑だった振り分け作業を大幅に効率化することを目的としています。業務効率向上を求めるユーザーにとって非常に有用なアップデートです。

 

SOY CMSの管理画面へのログインで二段階認証を追加しました

/** Geminiが自動生成した概要 **/
SOY CMSの管理画面に二段階認証機能が追加され、セキュリティが強化されました。この新機能を利用するには、まず「SOY CMSで管理画面のIPアドレス制限を追加しました」の記事に沿ってIPアドレス制限を設定することが必須です。信頼できる環境のIPアドレスを登録後、二段階認証の項目にチェックを入れることで有効化できます。今回の対応を含む最新パッケージは、公式サイト(https://saitodev.co/soycms/)からダウンロード可能です。これにより、SOY CMSの管理画面の安全性が向上し、より安心して運用できるようになります。

 

リョクトウとリョクトウもやしの栄養価

/** Geminiが自動生成した概要 **/
リョクトウとリョクトウもやしの栄養価を比較。リョクトウ100gあたり344kcal、たんぱく質24.3gに対し、もやしは15kcal、たんぱく質1.8gと大幅に減少。カリウムの減少が顕著。一方、リョクトウにはないビタミンCがもやしには13mg含まれる。発芽により栄養価は変化し、特にビタミンCの増加が特徴的。植物の成長過程における栄養変化を知る手がかりとなる。

 

着色料で見かけるクチナシとは何者だ?

/** Geminiが自動生成した概要 **/
食品の着色料「クチナシ」の正体は、アカネ科クチナシ属の植物。鮮やかな黄色の花を咲かせ、あまり見慣れない果実をつける。カロテノイド色素を持つため、着色料として加工食品に利用され、原材料名にもしばしば記載される。クチナシ色素の重要性から、カロテノイドと分けて表記されることもある。商用栽培は福岡県八女などで行われている。

 

SOY Shopでカートページスキッププラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のカートページスキッププラグインが開発されました。このプラグインは、顧客情報入力や支払い・配送方法選択など、任意のカートページをスキップし、同時にスキップしたページの項目を事前に指定できます。ダウンロード販売やライセンス継続課金サイトで、支払い方法が一択の場合などに便利です。カートのカスタマイズを避けつつ、購入手続きを簡略化することでカゴ落ち率の減少が期待できます。プラグインは、SOY Shopの最新パッケージに含まれており、saitodev.co/soycms/soyshop/ からダウンロード可能です。

 

ポリフェノールを順に理解する為にエタノールから触れていく

/** Geminiが自動生成した概要 **/
ポリフェノールを理解するため、まずはその構成要素であるヒドロキシ基(-OH)を含むエタノールから解説します。エタノールは消毒液として身近ですが、水に溶けるものの酸としては非常に弱いです。これは、エタノール中のO-H結合が強く、水素イオン(H+)が解離しにくいことを意味します。それでも水に溶けるのは、ヒドロキシ基が水分子と水素結合を作るためです。

 

カスタムフィールドチェッカーでCMSタグのチェックを追加しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドで、誤ったフィールドIDをテンプレートに挿入してしまう問題を解決するプラグイン「カスタムフィールドチェッカー」に新機能が追加されました。 今回のアップデートでは、ページに存在するフィールドIDが正しく使用されているかをチェックする機能が実装されました。 これにより、フィールドIDの入力ミスによる予期せぬ表示を防ぎ、より安全にサイト運営を行えるようになります。 本プラグインは、「CMSタグチェックプラグイン」と併用することで、テンプレート編集時のミスを効果的に削減できます。 ダウンロードは下記URLから可能です。 https://saitodev.co/soycms/

 

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

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

 

SOY CMSとSOY Shopで多言語サイトの構築を見直しました

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopの多言語サイト構築方法を大幅に改修しました。 従来はテンプレート数増加による管理コスト増大が課題でしたが、今回は以下の改善を行いました。 * 日本語ページと英語ページで同じテンプレートを使用可能に * 画像ファイル名に言語キーを付与することで自動切り替え * 記事とラベルを他言語のものと紐付け可能に これらの改善により、管理画面の簡素化、多言語サイト構築の効率化を実現しました。 新パッケージはサイトからダウンロード可能です。

 

玄米に含まれる脂肪酸の組成が気になった

/** Geminiが自動生成した概要 **/
玄米食は栄養豊富で食物繊維も豊富だが、脂肪酸組成、特に多価不飽和脂肪酸のバランスが気になる。 米ぬかから採れる米油の脂肪酸組成を見ると、オレイン酸が多く、必須脂肪酸のリノレン酸が少ない。玄米は主食なので摂取量が多くなるため、リノール酸過剰摂取の可能性があり注意が必要。リノール酸の過剰摂取はアレルギーや生活習慣病のリスクを高めるとされており、オメガ6系脂肪酸とオメガ3系脂肪酸の摂取バランスが重要となる。

 

巷でよく見聞きするプリン体とは何か?

/** Geminiが自動生成した概要 **/
巷で話題のプリン体とは、プリン骨格を持つ核酸塩基のことです。プリンは、ビールでよく耳にする痛風と関係が深く、体内で分解されると尿酸となります。 プリン体はグリシンから合成され、グルタミン、アスパラギン酸、ギ酸も材料となります。つまり、グリシン摂取=プリン体増加、というわけではありません。 プリン体は健康面で何かと話題に上がるため、もう少し詳しく見ていく必要がありそうです。

 

生体内でのグリシンの役割

/** Geminiが自動生成した概要 **/
この記事は、睡眠サプリとして注目されるグリシンの過剰摂取について考察するために、体内の様々な役割を解説しています。グリシンは、ヘモグロビンの原料となるポルフィリン、抗酸化物質であるグルタチオン、そして体内で最も多いタンパク質であるコラーゲンの合成に必要です。さらに、エネルギー代謝に関わるクレアチン、遺伝情報の伝達に関わるプリン体の原料にもなります。このように多岐にわたるグリシンの役割を理解した上で、過剰摂取の問題を検討していく必要があると結論付けています。

 

【SEO対策】PageSpeed Insightsのユーザー補助のスコア100を目指す

/** Geminiが自動生成した概要 **/
記事では、PageSpeed Insightsのユーザー補助スコアを100点にするための取り組みが紹介されています。 具体的には、記事タイトル下のカテゴリ名のリンクで指摘されていた「背景色と前景色には十分なコントラスト比がありません」という問題を解決しています。 解決策としては、WebAIMのConstract Checkerを用いて、背景色と文字色のコントラスト比を調整しました。スライダーで色を調整し、Passになるまで繰り返した結果、問題を解消できました。 ただし、サムネイル画像の低解像度に関する指摘は未解決で、別の対応策を検討する必要があるとのことです。

 

SOY CMSでユーザー補助プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMS用のユーザー補助プラグインが開発されました。このプラグインは、画像のalt属性が空の場合に自動でファイル名を挿入することで、WebアクセシビリティとSEOを向上させます。PageSpeed Insightsで新たに導入されたユーザー補助項目に対応し、既存記事の修正や新規記事作成時の負担を軽減します。プラグインはサイト管理者の負担を軽減し、ウェブサイトのアクセシビリティ向上に貢献します。ダウンロードは[https://saitodev.co/soycms/](https://saitodev.co/soycms/)から可能です。

 

汚泥肥料の特徴を把握しておく必要はあるだろう

/** Geminiが自動生成した概要 **/
汚泥肥料は安価で栄養価が高いが、窒素、リン酸、石灰が多く、カリウムが少ないという特徴があります。そのため、使用時にはカビ由来の病気や土壌硬化のリスクを考慮する必要があります。 効果的に使用するには、腐植質の資材やカリウム、苦土を補給することが重要です。これらの対策を講じることで、汚泥肥料のデメリットを抑制し、土壌の健康を保ちながら植物の生育を促進することができます。

 

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

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

 

SOY CMSの記事の検索でタグクラウドの項目の追加設定を設けました

/** Geminiが自動生成した概要 **/
SOY CMSの記事検索機能が強化され、カスタムサーチフィールドの追加設定に続き、タグクラウドプラグインの項目も追加されました。 管理画面の記事検索画面にタグクラウドが表示され、クリックするとそのタグがついた記事を絞り込むことができます。これにより、目的の記事をより素早く見つけ出すことが可能になります。 今回のアップデートを含む最新パッケージは、saitodev.co/soycms/ からダウンロードできます。

 

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

/** Geminiが自動生成した概要 **/
SOY CMSの記事検索機能が拡張され、カスタムサーチフィールドの項目が追加されました。 従来はサイト上の記事検索のみで利用可能でしたが、今回のアップデートにより、管理画面の記事検索ページでもカスタムサーチフィールドを使用した絞り込みが可能になりました。これにより、記事の管理や検索がより効率的に行えるようになります。 カスタムサーチフィールドは、「SOY CMS版カスタムサーチフィールド」で紹介されている機能で、記事に独自の項目を追加して検索することができます。 今回のアップデートを含むパッケージは、saitodev.co/soycms/ からダウンロードできます。

 

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

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

 

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

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

 

Parsley.jsでバリデーションが効かずに画面が遷移してしまう件について

/** Geminiが自動生成した概要 **/
Parsley.jsを利用したサイトで、ラジオボタンにチェックを入れた際にバリデーションエラーが発生し、画面遷移してしまう問題が発生。 原因は、ラジオボタンのHTMLに data-parsley-mincheck 属性が使用されていたこと。この属性はチェックボックス用であり、ラジオボタンに用いるとエラーが発生する。 属性を削除したところ、意図した動作になった。

 

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

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

 

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

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

 

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

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

 

Fritzingを使って、Raspberry Piの回路図を作成する

/** Geminiが自動生成した概要 **/
Fritzingというアプリを使えば、電子回路の回路図が簡単に作成できます。Raspberry Piなど、様々な電子部品がパーツとして用意されており、ドラッグ&ドロップで配置できます。標準パーツにない場合は、ネットから追加することも可能です。例えば、Raspberry Pi 4 Model Bのパーツは、フォーラムで共有されているfzpzファイルをダウンロードしてインポートすることで使用できます。

 

Raspberry Piのシリアルコンソールを試す

/** Geminiが自動生成した概要 **/
Raspberry Piのシリアルコンソール機能を使うと、ネットワーク環境がなくても有線でRaspberry Piを操作できます。 今回は、Raspberry Pi 4BとUbuntu 20.04、USB-TTLシリアルコンソールケーブルを使って接続を試みました。 Raspberry Pi側でシリアルポートとコンソールを有効化し、ケーブルで接続します。Ubuntu側ではscreenコマンドを使ってシリアルコンソールに接続します。 接続が確立すると、Ubuntuの端末にRaspberry Piのログイン画面が表示され、操作が可能になります。接続を終了するには、ctrl + a、kと入力します。

 

Raspberry PiをChromebookから操作する

/** Geminiが自動生成した概要 **/
プログラミング教室でキーボード・ディスプレイ無しにRaspberry Piを使うため、ChromebookからVNC接続を試みた。Raspberry PiでVNCサーバーを有効化し、ChromebookにVNC Viewerをインストール、IPアドレス指定で接続に成功。しかし、ディスプレイ未接続時は起動時にウィンドウシステムが立ち上がらずエラー発生。解決策として、raspi-configで画面解像度を設定することで、ディスプレイ無しでもVNC接続できるようになった。

 

SOY ShopのSign In With Googleプラグインでボタンをカスタマイズする

/** Geminiが自動生成した概要 **/
SOY ShopのSign In With Googleプラグインのボタンカスタマイズ方法について解説。Googleが提供するジェネレータを使用し、クライアントID、Data Context、ID token nonce、Callback functionを設定。Nextボタンをクリック後、Enable Sign in with Google buttonをチェックし、ボタンデザインを設定後、Get codeボタンを押下。生成されたHTMLをプラグイン詳細画面に貼り付けて更新することでカスタマイズ完了。

 

SOY Shopで注文検索の条件の自動入力で教育コストと人的ミスを減らす

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索に、配送条件を自動入力するボタンを追加することで、配送漏れなどの人的ミスを削減する拡張機能を開発しました。従来、複数の検索条件を手動入力する必要があり、ミスが発生しやすい状況でした。この拡張機能により、ボタン一つで必要な条件が自動入力されるため、操作手順が簡略化され、教育コストと人的ミスが大幅に削減されます。繁忙期のアルバイト教育も効率化され、クレーム対応の減少も見込めます。この機能は標準搭載ではなく、個別の相談に応じて実装します。

 

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

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

 

ARM版ChromebookにDropboxをインストールする

/** Geminiが自動生成した概要 **/
ARM版ChromebookでLinuxアプリのDropboxを使うには、.debパッケージが使えないためDbxfsを利用する。pip3でDbxfsをインストール後、Dropboxフォルダを作成し、dbxfsコマンドを実行。表示されるURLにアクセスし、Dropboxにログインして認証コードを取得、端末に入力する。パスフレーズを設定すれば、Linuxファイル配下でDropboxのファイルが操作可能になる。Android版DropboxはChromebookのFilesのLinux共有に対応していないため、この方法が必要。

 

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へのアップデート推奨。

 

Chromebookはプログラミングの教育の端末として向いているか?を調査する

/** Geminiが自動生成した概要 **/
ChromebookのLinuxアプリで日本語入力ができない問題を解決する方法を解説した記事の要約です。 ChromebookのLinux環境では標準で日本語入力ができません。この記事では、fcitx-mozcをインストールすることで日本語入力できるようにする方法を、スクリーンショット付きで丁寧に説明しています。 まず、Linuxターミナルを開き、必要なパッケージをインストールします。次に、設定ファイルを作成・編集し、fcitxを起動するように設定します。最後に、Chromebookを再起動し、入力メソッドの設定で日本語(Mozc)を選択すれば、日本語入力が可能になります。記事では、詳細なコマンドや設定内容、トラブルシューティングについても触れています。

 

SOY CMSでカスタムフィールドアドバンスド イメージフィールドコピープラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドで画像フィールドを使用する際、alt属性を含めて複数箇所に表示したい場合の課題を解決するプラグインが開発されました。標準機能では、2回目以降の表示に`cms:id="img*"`を使用するとalt属性が出力されない問題がありました。このプラグインを使用すると、`cms:id="img_copy"`のように指定することで、alt属性を含めたimgタグを出力できます。`_copy`の部分は設定で変更可能です。このプラグインを含むパッケージはsaitodev.co/soycms/からダウンロードできます。

 

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/からダウンロード可能です。

 

ナメコが生える環境はどんな所?

/** Geminiが自動生成した概要 **/
本記事は、人工栽培キノコの天然での生育環境に関心を持ち、食卓でおなじみのナメコについて調査。図鑑を基に、ナメコがハラタケ目のスギタケの仲間であり、主に「ブナの枯れ木」に生えること、コナラの枯れ木にも群生する実態を明らかにします。シイタケやマイタケなど、他のキノコと同様にナメコもブナ科の木に生えることから、キノコにとってブナ科の重要性を再認識。ブナ科の木が菌に対して抵抗性が弱い可能性についても考察を巡らせています。

 

ブナシメジに豊富に含まれる成分を知りたい

/** Geminiが自動生成した概要 **/
ブナシメジの栄養価に着目し、特に豊富に含まれる成分について検証しています。抗酸化作用は他のキノコと比べて低いものの、カリウム、オルニチン、GABAが豊富です。オルニチンは解毒作用、GABAは免疫向上効果があるとされ、風邪予防にも効果が期待されます。ブナシメジはブナなどの広葉樹の朽木に群生する木材腐朽菌です。ホクトの研究によると、ブナシメジは生シイタケと比較してもこれらの成分が多く含まれています。ただし、エノキダケとの比較データは不足しており、今後の課題となっています。

 

クロスサイトリクエストフォージェリを回避する方法を探る

/** Geminiが自動生成した概要 **/
記事では、SOY2HTMLでセキュアなフォームを作成する方法を解説しています。具体的には、CSRF対策としてトークンを埋め込んだフォームを生成するHTMLFormクラスの使い方を紹介しています。 buildHiddenToken()でトークンを生成し、isValidToken()で検証することで、悪意のある外部サイトからのリクエストを無効化できます。また、トークンの有効期限を設定することでセキュリティを強化できます。記事では、具体的なコード例を交えながら、これらの機能の使い方を分かりやすく説明しています。 さらに、HTMLFormクラス以外の方法として、独自にトークンを生成・検証する方法についても触れています。

 

SQLインジェクションに対してプリペアードステートメントが有効であるかを試してみる

/** Geminiが自動生成した概要 **/
この記事では、PHPにおけるSQLインジェクション対策としてプリペアードステートメントの有効性を検証しています。まず、脆弱なコード例を示し、攻撃者がSQL文を操作して意図しないデータを取得できることを実演。次に、プリペアードステートメントを用いた修正版を紹介し、SQL文と入力データを分離することで攻撃を防ぐ仕組みを解説しています。具体的には、プレースホルダを用いてSQL文を準備し、executeメソッドでパラメータをバインドすることで、入力データがSQL文として解釈されることを防いでいます。結果、同じ攻撃を試みてもデータが取得できず、プリペアードステートメントの有効性が確認されました。関連記事として、SOY2DAOでのプリペアードステートメントの利用方法も紹介されています。

 

クロスサイトスクリプティングを回避する方法を探る

/** Geminiが自動生成した概要 **/
SOY2では、XSS対策としてhtmlspecialcharsを簡便に利用できるHTMLLabelを提供している。記事では、HTMLLabelの基本的な使い方と、soy:idを用いた動的な値の表示方法を解説。HTMLLabelはHTMLタグを自動的にエスケープし、安全に値を表示。例として、ブログ記事のタイトルを表示するコードを紹介し、HTMLLabelを用いることで、タイトルに含まれるHTMLタグがエスケープされ、XSS脆弱性を防ぐ様子を示している。また、HTMLLabelの子要素としてHTMLタグを記述することで、特定のタグを許可することも可能。記事は、HTMLLabelがSOY2でのXSS対策に効果的であることを示唆。

 

WordPressのデータベースのスキーマを調べる

/** Geminiが自動生成した概要 **/
WordPressからのデータ抽出のため、データベーススキーマのバージョン調査を行った。テーブル名は`wp-includes/wp-db.php`に定義されており、バージョン2.5.0から変更がない。テーブルスキーマは`wp-admin/includes/schema.php`にSQLで定義され、バージョン3.3.0から変更がないことがわかった。よって、データ抽出ツールはWordPress 3.3.0以降に対応させ、それ以前のバージョンはアップグレードしてから利用するよう条件付けすれば良い。

 

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

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

 

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

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

 

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

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

 

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

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

 

SOY ShopでRFID在庫管理ツール ZAIKAに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopがレンタルサービス事業者向けRFID在庫管理ツール「ZAIKA」とAPI連携できるプラグインを開発しました。ZAIKAはレンタル業務の発送・返却作業効率化と在庫単位での収益・稼働・状態管理を実現するツールです。プラグイン利用にはSOY Shopのオーダーカスタムフィールド(日付)との連携が必要ですが、現状未実装です。連携機能開発は需要に応じて対応予定。プラグイン利用希望者やレンタル業務用SOY Shop構築希望者は問い合わせください。 なお、顧客関連管理機能強化については言及されていません。

 

さくらのメールボックスからのメールをGmailで受信した際の?のアイコンを回避

/** Geminiが自動生成した概要 **/
さくらのメールボックスからGmailへメール送信時、送信元認証がされていないため「?」アイコンが表示される問題を解決する方法。お名前.comで取得したドメインのDNS設定で、さくらのメールボックスのホスト名を用いてSPFレコード `v=spf1 a:ホスト名 mx ~all` をTXTレコードとして追加する。設定後、mxtoolbox.comでSPFレコードを確認し、Gmailで受信したメールのアイコンが「?」から人物アイコンに変われば成功。

 

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

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

 

Google AdsのMCCアカウントでキーワードプランナーを無料で使えるようにするまで

/** Geminiが自動生成した概要 **/
Google Ads APIを利用するにはMCCアカウントが必要で、キーワードプランナーを無料で使う方法を解説。MCCアカウント作成後、キーワードプランナーは有効な広告アカウントがないため使えない。そこで、エキスパートモードで「キャンペーンなしでアカウントを作成」し、生成されたお客様IDをメモ。MCCアカウントに戻り、サブアカウント設定で「既存のアカウントをリンク」し、お客様IDを入力してリクエストを送信、承認する。これでMCCアカウントでキーワードプランナーが無料で使えるようになる。

 

【SEO対策】実行環境のバージョンを上げて高速化

/** Geminiが自動生成した概要 **/
PageSpeed Insightsでスコア100を目指すため、サーバー側の処理速度向上に取り組んだ。SEO対策として、PHP製CMSを使う場合、PHPバージョンを最新に保つことが重要。PHP7系はOPCacheにより高速化されており、バージョンアップだけでスコア向上も期待できる。VPSサーバでのバージョンアップ方法は過去記事を参照。PHP8ではJitコンパイラ導入で更なる高速化が見込まれる。かつてGo言語への移植も検討したが、PHPでスコア100達成できたため中止した。

 

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

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

 

SOY InquiryでParsley.jsを利用する

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

 

SOY ShopのマイページのフォームでParsley.jsを使用する際に注意すること

/** Geminiが自動生成した概要 **/
SOY2HTMLでセキュアなフォームを設置するには、csrf_tokenを利用する。HTMLFormクラスでformタグを出力すると自動的にトークンが埋め込まれる。トークンはセッションに保存され、送信時に検証されるため、クロスサイトリクエストフォージェリを防げる。 独自にformタグを作成する場合は、soy:id="csrf"でトークンを埋め込む必要がある。また、JavaScriptで非同期通信を行う場合も、トークンをヘッダーやパラメータに含める必要がある。トークンの有効期限は短いため、フォームの送信に時間がかかる場合は注意が必要。これらの対策により、安全なフォームを実現できる。

 

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

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

 

SOY Inquiryで長いカラム名がある場合は詳細で整形をする

/** Geminiが自動生成した概要 **/
SOY Inquiryの管理画面で、長いカラム名を持つお問い合わせフォームの表示崩れを解消するアップデートが行われました。従来、最も長いカラム名に合わせて全項目の表示幅が拡張され、無駄なスペースが生じていましたが、今回の修正で改善。最長カラム名の値は改行表示となり、その他の項目は2番目に長いカラム名に合わせた幅で表示されるようになりました。これにより、長いカラム名を含むフォームでも見やすく整形された詳細情報を確認できます。アップデート版はsaitodev.co/soycms/soyinquiry/からダウンロード可能です。

 

解毒物質供給機能としての糖

/** Geminiが自動生成した概要 **/
植物における糖の機能の一つとして、解毒物質の供給がある。動物ではグルクロン酸が毒物と結合し排出されるグルクロン酸抱合が知られる。植物でもグルクロン酸はビタミンC(アスコルビン酸)の合成経路であるD-グルクロン酸経路の中間体となる。アスコルビン酸は抗酸化作用を持つため、間接的に解毒に関与していると言える。また、植物はD-ガラクツロン酸経路、D-マンノース/L-ガラクトース経路でもアスコルビン酸を合成する。糖はエネルギー源以外にも様々な機能を持ち、植物の生産性や病害虫耐性にも関わる可能性がある。

 

SOY Shopの商品レビュープラグインでレビュー用ページの機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品レビュープラグインに、レビュー表示件数設定とページ分割機能が追加されました。商品詳細ページに表示するレビュー数を管理画面で設定可能になり、それを超えるレビューは別ページに表示されます。これにより、レビュー数の増加に対応できるようになりました。また、サイトマッププラグインも改良され、レビュー増加時にXMLに自動で項目が追加されるため、SEO対策も万全です。今回のアップデートにより、ユーザビリティとSEOの両面が強化されました。ダウンロードはsaitodev.co/soycms/soyshop/ から可能です。以前のアップデートでは、5つ星形式の評価を表示するcms:idタグも追加されています。

 

Ubuntuのサーバで特定のユーザのみSSHでパスワード認証を禁止したい

/** Geminiが自動生成した概要 **/
Ubuntuサーバーで特定ユーザ(例:hoge)のみSSHのパスワード認証を禁止し、公開鍵認証のみに制限する方法。 `/etc/ssh/sshd_config`を編集し、`PasswordAuthentication yes` (全体としてはパスワード認証有効)と`Match User hoge` `PasswordAuthentication no` (ユーザhogeはパスワード認証無効)を設定。 `sudo sshd -t`と`sudo service ssh restart`で設定を反映。hogeユーザは公開鍵認証でのみログイン可能となる。

 

Google Analytics APIの承認で苦戦したので、承認されるまでの流れをまとめてみた

/** Geminiが自動生成した概要 **/
Google Analytics APIの承認取得に苦労した著者が、その過程を詳述。OAuth同意画面の設定から始まり、Googleからの度重なるメールでの指摘に対応していく。 ホームページ、プライバシーポリシーの設置、アプリ操作動画の提出を求められ、動画はクライアントIDの表示や言語設定など細かい指示に従い作成し直した。最終的に承認を得るまで、動画の翻訳やスコープ設定の不備など、多くの修正を余儀なくされた。

 

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

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

 

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

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

 

米油で揚げると揚げ物の食感がさっぱりとする

/** Geminiが自動生成した概要 **/
米油で揚げた揚げ物は、菜種油と比べてさっぱりとした食感になる。その理由は、米油に含まれる成分や脂肪酸構成にあると考えられる。米油はγ-オリザノールやフェルラ酸を含み、アクロレインの発生量が少ない。脂肪酸組成は、菜種油粕と比べて飽和脂肪酸と多価不飽和脂肪酸が多い。特にミリスチン酸の存在が注目される。米油は米ぬかから作られるため、米ぬか自体にもまだ知られていない可能性が秘められていると考えられる。

 

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

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

 

ヤシガラを試したら綺麗な細根が増えたらしい

/** Geminiが自動生成した概要 **/
ヤシガラ使用で植物の細根が増えたという話から、ヤシガラに含まれる成分の影響を考察。ヤシガラはココヤシの油粕で、カリウムの他、油脂由来の脂肪酸が含まれる可能性がある。脂肪酸は通常肥料成分として注目されないが、アーバスキュラー菌根菌(AM菌)の培養に脂肪酸が有効だったという研究結果から、ヤシガラ中の脂肪酸がAM菌を活性化し、ひいては植物の発根を促進した可能性が考えられる。特に、ヤシ油に含まれるパルミトレイン酸はAM菌の増殖に効果がある。ただし、ヤシガラの油脂含有量によっては効果がない可能性もある。

 

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

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

 

野菜の美味しさとは何だろう?味蕾のこと

/** Geminiが自動生成した概要 **/
野菜の美味しさは、甘味、うま味、苦味、酸味、塩味の相互作用によって決まり、糖度だけでは測れない。それぞれの味覚は、味蕾の種類や数、そして味物質の種類によって感知される。苦味受容体の多さは、危険察知のための進化の結果である。少量の苦味は、ポリフェノールやミネラル摂取に繋がるため、美味しさにも繋がる。スイカに塩をかけると甘く感じる現象のように、異なる味覚の組み合わせは、それぞれの味覚の感じ方を変化させ、美味しさの複雑さを増す。

 

こと京都株式会社さんで土壌分析の活用の話をしました

/** Geminiが自動生成した概要 **/
こと京都株式会社の社内研修で土壌分析の活用法について講演しました。土壌分析は、不足養分の補充ではなく、栽培適性の確認ツールとして有効です。分析結果で突出する要素があれば、それを無理に補うより低減させる方が、後の栽培が容易になります。京都農販の木村さんの土壌分析結果を例に、問題発生予測についても解説しました。土壌分析を栽培しやすい土壌づくりの指標として活用することで、より効率的な農業が可能になります。詳しくは京都農販日誌をご覧ください。

 

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

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

 

SOY ShopのSMTPによるメール送信できない状態について

/** Geminiが自動生成した概要 **/
SOY ShopのSMTPメール送信不具合は、さくらインターネットのメールボックス側の仕様変更が原因だった。 SOY ShopはSMTP認証にDIGEST-MD5を優先利用していたが、さくら側でこれが拒否されるようになった。そのため、Thunderbirdでは送信できたが、SOY Shopからは送信できなかった。 解決策として、認証アルゴリズムをCRAM-MD5に切り替えることで送信できることを確認。修正版はsaitodev.co/soycms/soyshop/からダウンロード可能。ただし、この対応が全てのメールサーバで有効かは不明。

 

SOY Shopのカスタムサーチフィールドで簡易予約カレンダー用の項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの簡易予約カレンダー機能拡張で、カスタムサーチフィールドに予約カレンダー検索項目が追加されました。これにより、旅行予約サイトなどで、ツアーの予約状況に基づいた絞り込み検索が可能になります。カスタムサーチフィールドタグ`csf:id`を利用することで、高度な検索フォームを構築できます。このアップデートは、キャンセルが多い事業向けの予約アプリ開発(記事へのリンクあり)などの背景も踏まえ、予約サイト構築の柔軟性を高めます。ダウンロードはサイト(saitodev.co/soycms/soyshop/)から可能です。関連情報として、Bootstrap4対応のカートとマイページ追加の記事も紹介されています。

 

SOY InquiryでjQuery UIのDatepickerを利用してみる

/** Geminiが自動生成した概要 **/
SOY Inquiryで日付入力にカレンダー形式を追加するには、jQuery UIのDatepickerを利用します。まず、フォーム設置ページのテンプレートにjQueryとjQuery UI、日本語化ファイルのCDNを読み込むscriptタグを追加します。次に、SOY Inquiryで日付のカラムを作成し、属性に`id="datepicker"`を設定します。これにより、フォームにフォーカスを当てるとカレンダーが表示され、日付を選択できるようになります。Datepickerは日付選択の制限等、高度な設定も可能です。詳細はjQuery UIの公式ドキュメントを参照ください。

 

SOY Shopで注文詳細の商品毎に状態を持たせてみた

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面に、商品毎の状態管理機能を追加するプラグインが開発された。これにより、例えば一部出荷や在庫不足といった状況を商品単位で管理し、担当者間での情報共有をスムーズにすることが可能になる。プラグイン導入後は、設定画面で任意の状態を追加できる。 開発の背景には、注文数と出荷可能数が異なる場合の状況管理の煩雑さを解消する目的がある。商品毎に「配送途中」などの状態を付与し、コメント欄に詳細を記録することで、配送状況の共有コスト削減が期待される。 このプラグインは、営業事務向けの機能強化の一環として開発され、管理画面の利便性向上に貢献する。ダウンロードはサイト(https://saitodev.co/soycms/soyshop/)から可能。

 

SOY Inquiryで連番カラムを追加しました

/** Geminiが自動生成した概要 **/
SOY Inquiryにフォーム毎の通し番号を自動生成する機能が追加されました。この機能は、送信完了画面、自動返信メール、管理画面の受信一覧に表示可能です。通し番号は連番カラムで管理され、非表示設定も可能です。管理画面で連番カラムをフォームの最初に配置すれば、受信一覧での表示も実現できます。「次回お問い合わせ時に生成する番号」を設定することで、番号を飛ばすことも可能です。機能追加版はサイトからダウンロードできます。ただし、自作デザインのフォームを使用する場合は、PHPファイルの修正が必要です。修正方法の解説ページも用意されていますが、難しい場合はサイトから問い合わせも可能です。

 

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

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

 

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

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

 

SOY Inqiuryでお問い合わせ内容をコンパクトにする

/** Geminiが自動生成した概要 **/
SOY Inquiryで長い項目名によってメール表示が崩れる問題を解決する方法です。フォームテンプレートディレクトリ(例:default)にmail.admin.phpを作成し、PHPでメール内容を整形します。 提供されたコードは、メール本文の各行を処理し、コロン以降の空白文字を削除して出力します。これにより、項目名と入力値の間のスペースが詰まり、コンパクトな表示になります。管理者宛メールのみ変更され、公開側の表示は変わりません。

 

カスタムフィールドアドバンスドの記事フィールドの使いどころ

/** Geminiが自動生成した概要 **/
SOY CMSのGravatar連携プラグインは、ブログ投稿者のプロフィール画像を簡単に表示できるツールです。Gravatarに登録されたメールアドレスと連携し、自動的に画像を取得・表示します。プラグイン設定画面でGravatarの画像サイズを指定でき、記事詳細ページやブログのサイドバーなど、任意の場所に設置可能です。 記事投稿時に投稿者のメールアドレスを入力するだけで、Gravatar画像が反映されるため、ユーザーの手間を省き、サイトの見栄えを向上させます。 画像がない場合はデフォルト画像が表示され、Gravatar未登録ユーザーにも対応しています。このプラグインで、手軽にブログに個性を加えることができます。

 

ブロッコリは栄養豊富

/** Geminiが自動生成した概要 **/
ブロッコリーが栄養豊富なのは、開花前の花菜として養分を蓄えるため。ビタミンC、Eに加え、ビタミンK、B6にも着目し、特にビタミンKの植物体内での働きを深掘りしています。厚生労働省の情報を基に、ビタミンK1(フィロキノン)が光合成の電子運搬に重要な役割を果たすことを解説。ブロッコリーが緑色で光合成を行うことから、「光合成に関連するビタミンが多い」という筆者独自の解釈を提示し、食材としての栄養価だけでなく、植物体内での働きという視点からブロッコリーの魅力を掘り下げています。

 

SOY Shopで管理画面のみ使用モードを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopは、9年の歴史の中で機能強化を重ね、ネットショップだけでなく業務アプリとしての需要が高まっている。今回、業務アプリ利用時のサンプルデータ削除の手間を省くため、「管理画面のみ使用モード」が追加された。サイト作成時にチェックを入れるだけで、サンプルデータなしで管理画面を利用できる。 業務アプリとして利用する場合はMySQLデータベース推奨。併せて、管理画面の使い始めのガイダンスも追加された。このアップデートにより、在庫管理や顧客管理など、SOY Shopを業務システム基盤として活用する際の初期設定が簡素化される。ダウンロードは公式サイトから可能。

 

SOY Shopの商品一覧ページで変則的な並び順の対応をしてみる

/** Geminiが自動生成した概要 **/
SOY Shopでカテゴリごとに商品一覧の並び替え順を変える方法。カスタムフィールドで「使用人数」や「使用温度」などの項目を作成し、ソートに利用する設定にする。データベースのカラム型を数値に変更。soyshop.item.list拡張ポイントでプラグインを作成し、getSortメソッドでカテゴリごとに異なるソート条件を返す。テントなら使用人数の降順、シュラフなら使用温度の昇順など。標準設定は価格の昇順にする。URLを変えずに同一ページで並び替え順を変えられるため、SEOにも有効。

 

Go言語でJSON

/** Geminiが自動生成した概要 **/
Go言語でJSONを扱う方法について解説されています。 `sample.json`ファイルにID、名前、読み仮名などのデータを保存し、`main.go`でそのデータを読み込んで利用する方法が示されています。 `ioutil.ReadFile`でJSONファイルを読み込み、`json.Unmarshal`でGoの構造体`Sample`に変換します。`Sample`構造体はJSONデータのキーに対応するフィールドを持ちます。変換後、`sample.Name`のようにアクセスすることで、JSONデータの値を取得できます。

 

Go言語とQtで給与明細の計算機を作ってみた

/** Geminiが自動生成した概要 **/
パン屋の友人の給与明細計算を手作業から解放するため、Go言語とQtで計算アプリを開発した。所得税の複雑な計算方法や保険組合への確認など、多くの困難を乗り越え、GitHubで公開に至った。開発を通じて税金や業務の仕組みへの理解が深まり、問題解決能力や丁寧な作業姿勢も身についた。小学校でのプログラミング教育必修化を控え、親自身もプログラミングの価値を実感する重要性を感じている。

 

SOY Shopで管理画面のロゴ画像等の設定を設けました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面のロゴとアプリ名を変更できる設定が追加されました。これは、SOY Shopがネットショップだけでなく、在庫管理、顧客管理、見積り作成など多様な業務アプリとして利用されるケースが増えたためです。管理画面のロゴをカスタマイズすることで、納品時の説明の手間を省き、それぞれの用途に合わせた表示を実現します。 従来のネットショップとしての利用に加え、プラグインによる機能拡張で、顧客名簿管理や土壌分析アプリ、パイプハウス施工管理アプリなど、多様な業務システム構築が可能となっています。SOY Shopはネットショップ構築だけでなく、様々なビジネスニーズに対応できる柔軟性を備えたプラットフォームへと進化しています。

 

地質時代から土壌の形成に触れることでpHのことを知る

/** Geminiが自動生成した概要 **/
畑作継続の難しさは、土壌の劣化、特に酸性化にある。生産現場では土壌pHの重要性は認識されているものの、その原理の理解は曖昧なまま施肥が行われていることが多い。土壌酸性化は、肥料成分の溶解性に影響し、作物の養分吸収を阻害、生理障害や病虫害 susceptibility を高める。土壌は、地質時代からの生物活動による風化・堆積物で、化学肥料の登場により酸性化が加速した。しかし、肥料の中には酸性化を促進するものと緩和するものがあり、適切な施肥管理が重要となる。土壌形成の歴史を理解することで、pH管理の重要性も深く理解できる。

 

SOY Shopの注文検索でクーポンコードによる検索を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能が強化され、クーポンコードによる検索が可能になった。顧客管理のニーズに応え、クーポン利用状況の把握が容易になった。さらに、最近のアップデートでは備考・コメントのAND/OR検索も追加され、業務アプリ functionalities / 機能性も向上。紹介記事はないものの、レンタル屋向け顧客管理強化やパイプハウス施工管理アプリ開発と合わせて、ネットショップの枠を超えた業務アプリの可能性を示している。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能。

 

UbuntuでAndroid Debug Bridgeを使ってみる

/** Geminiが自動生成した概要 **/
Ubuntu 18.04でAndroid Debug Bridge (ADB) を使用してAndroidアプリをデプロイする方法を紹介しています。ADBをインストール後、Go Mobileのサンプルコードをエミュレータと実機(ZTE Blade V580, Android 5.1)にデプロイしました。エミュレータではバージョン不一致でアプリは起動しませんでしたが、実機では開発者モードを有効化し、USBデバッグをONにすることで、`gomobile install`コマンドでアプリのデプロイと起動に成功しました。

 

SQLiteでデータを入れて取り出してみる

/** Geminiが自動生成した概要 **/
Windows 10 で SQLite を使い、データを操作する方法を解説しています。SQLite をダウンロード、インストールし、環境変数を設定後、コマンドプロンプトでデータベースファイル(sample.db)を作成します。SQL文を用いて、テーブル作成、データ挿入、削除、並び替え、表示など基本操作を例示しています。`CREATE TABLE` でテーブルを作り、`INSERT INTO` でデータ挿入、`SELECT * FROM` で全データ表示、`DELETE FROM` でデータ削除、`ORDER BY` で並び替え、`LIMIT` で表示件数制限を行います。DB Browser for SQLite での確認方法にも触れています。

 

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

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

 

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

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

 

SOY Shopの注文詳細の支払い方法の変更をラジオボタン式に変更した

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細画面で、支払い方法の変更方式がテキストエリア入力からラジオボタン選択に変更されました。従来は支払い方法のラベル表示のみ変更可能で、注文データ上のモジュール自体は変更されませんでした。今回の変更により、ラジオボタンで選択した支払い方法のモジュール自体が変更されるようになりました。これにより、注文検索画面での絞り込み検索が正しく機能するようになります。ただし、手数料は変更時に削除されるため、手動で再設定が必要です。将来的には送料の自動計算機能も追加予定です。変更を含むパッケージはsaitodev.co/soycms/soyshop/からダウンロードできます。

 

SOYShopのCSVインポートエクスポートで出力時のチェックを保持するようにした

/** Geminiが自動生成した概要 **/
SOY ShopのCSVインポート/エクスポート機能において、出力項目のチェック状態を保持する機能が追加されました。カスタムフィールドやプラグイン追加でCSVの項目が増え、確認が煩雑になる問題に対し、一度チェックした項目を保存し次回反映することで操作の手間を軽減します。現在試作段階で、カスタムサーチフィールドなど一部プラグインでは未対応ですが、多くの項目チェックの手間を省くことが期待できます。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopの注文検索でオーダーカスタムフィールド(日付)の項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文検索機能を拡張し、オーダーカスタムフィールド(日付型)を検索条件に追加できるプラグインを開発しました。管理画面の注文一覧にカスタムフィールドの日付検索欄が追加され、注文詳細に記録した任意の日付情報(例:返答期限)に基づいた検索が可能になります。この機能は「やまどうぐレンタル屋さん」で実装した顧客管理機能強化の一環で、管理画面のみ表示のカスタムフィールドに「○月○日までに返答」といった伝言を記録し、検索で容易に抽出するといった活用が想定されます。プラグインはsaitodev.coからダウンロード可能です。

 

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

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

 

SOY Shopで注文状態の項目を追加できるプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態に任意の項目を追加できるプラグインが開発されました。やまどうぐレンタル屋さんでのレンタル商品返却管理の課題を解決するために、注文状態と支払状況にフラグを追加する拡張ポイントが実装され、この機能を汎用化したプラグインが作成されました。プラグイン設定画面で注文状態を追加すると、注文詳細画面と注文検索画面に反映されます。これにより、返品待ちや返済済みといった独自のステータス管理が可能になり、注文検索の効率化に繋がります。生鮮食品など返品が発生するショップやレンタル商品を扱うショップで特に役立ちます。プラグインはsaitodev.coからダウンロードできます。

 

SOY CMSのブログブロックの使用を制限して、ブログページの高速化

/** Geminiが自動生成した概要 **/
Googleは常時SSL化をランキング要因の一つとしています。つまり、サイトがHTTPSを使用しているかどうかは、検索結果の順位に影響を与えます。しかし、その影響は軽微であり、他のSEO対策と比べると優先度は低いと言えるでしょう。 常時SSL化の主なメリットはセキュリティの向上です。ユーザーの情報を暗号化することで、盗聴や改ざんのリスクを軽減できます。これはユーザーの信頼感向上に繋がり、間接的にSEO効果に繋がる可能性があります。 また、常時SSL化によってサイトの表示速度が向上する可能性も指摘されています。Googleはサイトの表示速度もランキング要因としているため、結果的にSEOに良い影響を与える可能性があります。 しかし、常時SSL化自体が劇的なSEO効果をもたらすわけではないので、他の重要なSEO対策を疎かにしてまで優先するべきではありません。コンテンツの質やユーザーエクスペリエンスの向上など、他のSEO対策と並行して行うことが重要です。

 

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

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

 

SOY CMSの記事投稿時の画像のアップロードでファイルマネージャをメインで使用する

/** Geminiが自動生成した概要 **/
SOY CMSの記事投稿画面で画像アップロード時にファイルマネージャを優先利用するための設定方法を紹介しています。サイト設定で「記事投稿時のおイメージの挿入設定」を行い、希望のアップロード方法(ファイルマネージャ、ドラッグ&ドロップ等)にチェックを入れます。これにより、記事投稿画面の画像挿入時に設定した項目がデフォルトで選択された状態になります。記事では、ファイルマネージャを優先利用するための設定例を画像付きで解説し、より使いやすくする方法を提案しています。関連記事として、SOY CMSで使用しているelFinderでjsファイルのアップロードを許可する方法を紹介する記事へのリンクも掲載されています。

 

妻にプログラミングを教えることにした-続き

/** Geminiが自動生成した概要 **/
プログラマは、システム不具合の多くが「想定外の使い方」に起因するため、電話での口頭説明ではなく詳細な情報提供を求める。これは、プログラミングが物理法則に縛られず、思考がそのまま反映されるため、想定外の動作が顕著な不具合となる特性による。効率的な情報伝達と問題解決のため、プログラマはコーディング規約、高機能エディタ、テスト自動化、タスク管理ツール、オープンソースといった手段を活用し、思考すべき点とそうでない点を明確化し、再発防止と情報共有を促進する。妻にプログラミングを教えるのは、これらの思考プロセスと情報伝達の重要性を体験させ、世界中の資産を活用する術を学ばせるためである。

 

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

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

 

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

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

 

SOY Shopの注文詳細の編集で代金合計に含む項目を追加できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの注文詳細編集機能に、代金合計に含めるかどうかのチェックボックスを追加しました。これにより、内税のように明細には表示するものの、合計額には含まない項目を指定できます。 ただし、注文詳細表示ではどの項目が合計額に含まれているかわかりにくいという課題があります。今後、わかりやすい表示方法の検討が進められます。

 

SOY2HTMLで繰り返し表示 - HTMLList編

/** Geminiが自動生成した概要 **/
SOY CMSのブロック内で繰り返し表示される記事に、一定の間隔で任意の文字列を表示するには、下記の手順に従います。 1. HTMLListクラスを継承したPHPクラスを作成し、populateItemメソッドで表示したい内容をHTMLタグで記述します。 2. HTMLファイルで、populateItemメソッドで作成したHTMLタグをsoy:idを使用して囲みます。 3. 表示する間隔をsoy:id="loop"に指定します。 4. 表示する文字列をsoy:id="index"に指定します。 これで、指定した間隔で任意の文字列が繰り返し表示されます。

 

プラグイン毎の詳細画面へのリンクの拡張ポイントsoyshop.info.php

/** Geminiが自動生成した概要 **/
soyshop.admin.top.php拡張ポイントは、SOY Shop管理画面の新着情報欄にカスタム項目を追加できます。`getLink()`メソッドでリンクURL、`getTitle()`でタイトル、`getContent()`で本文、`getIcon()`でアイコンURLを返却することで項目が生成されます。`getLink()`では`SOY2PageController::createLink()`を使うことで環境に依存しないURLを作成可能です。例えば、特定の注文一覧ページへのリンクを追加する場合、`getLink()`で`SOY2PageController::createLink("Order.List?search[order_status]=5")`のように指定することで、注文ステータスが「発送済み」の注文一覧ページへのリンクを生成できます。

 

管理画面の新着に項目を追加する拡張ポイントsoyshop.admin.top.php

/** Geminiが自動生成した概要 **/
SOY Shop管理画面の新着に項目を追加できる拡張ポイント「soyshop.admin.top.php」について解説。インターフェースには、表示可否を制御する`allowDisplay`、タイトルを設定する`getTitle`、コンテンツを設定する`getContent`、リンクURLを設定する`getLink`、リンクテキストを設定する`getLinkTitle`のメソッドが存在する。各メソッドの出力箇所は画像で示され、ショップ情報表示プラグインを例に挙げて説明。`getLink`でURLを指定すると、`getLinkTitle`のテキストがリンク化される。

 

SOY2HTMLで処理とデザインを切り分ける

/** Geminiが自動生成した概要 **/
SOY2HTMLFactoryは、SOY CMSでPHPによる処理とHTMLによるデザインを完全に分離するための仕組みです。拡張ポイント(例: `soyshop.admin.top.php`)の`getContent`メソッド内で使用され、`SOY2::import`で読み込んだPHPクラスを`SOY2HTMLFactory::createInstance`でインスタンス化します。このPHPクラスがビジネスロジックを担当し、同名のHTMLファイルをテンプレートとして利用。`soy:id`を通じて両者を連携させ、動的なコンテンツを生成・表示します。これにより、プログラマとデザイナの役割分担を明確にし、開発効率向上に貢献します。

 

管理画面の注文検索の拡張ポイントsoyshop.order.search.php

/** Geminiが自動生成した概要 **/
管理画面の注文検索フォームを拡張するsoyshop.order.search.php拡張ポイントの説明。searchItemsメソッドでフォームに検索項目を追加し、setParameterメソッドで対応するSQLサブクエリを指定する。 searchItemsはラベルとフォーム要素を配列で返し、フォームのname属性は"search[customs][モジュールID][ユニークなパラメータ]"形式。setParameterは"id IN (SELECT ...)"形式のサブクエリを返す。伝票番号記録プラグインのコードを読むと理解が深まる。

 

支払いの拡張ポイントsoyshop.payment.php

/** Geminiが自動生成した概要 **/
SOY Shopの支払い拡張ポイント(soyshop.payment.php)は、`onSelect`、`getName`、`getDescription`、`getPrice`、`getMethod`、`hasOptionPage`、`getOptionPage`、`onPostOptionPage`などのメソッドを提供し、支払い方法のカスタマイズを可能にする。各メソッドは支払い方法名や説明、価格、追加ページの有無などを制御する。例として、クレジットカード決済では`hasOptionPage`でtrueを返し、`getOptionPage`で入力フォームを提供する。`getMethod`はカート内容に応じて支払い方法の表示を制御するが、最後のプラグインで全てのモジュールを制御する点に注意が必要。

 

SOY Shopの注文状態と支払状況でフラグを追加できる拡張ポイントを設けました

/** Geminiが自動生成した概要 **/
SOY Shopの注文状態・支払状況の拡張ポイントが追加されました。従来の注文状態変更項目の柔軟性不足を解消するため、プラグインで項目を追加できるようになりました。例えば、レンタル業務用の返送伝票番号記録プラグインでは、注文状態に「返却済み」フラグを追加できます。追加方法は、在庫確認中状態追加プラグイン(add_status_check_stock_in)を複製し、soyshop.order.status.php内のstatusItem()またはpaymentStatusItem()関数を編集します。配列で任意の数字とフラグ名を指定することで、注文状態と支払状況に項目を追加できます。拡張ポイントに関する詳細は別記事を参照ください。最新版はサイトからダウンロード可能です。

 

SOY Shopの注文一覧ページの検索フォームでプラグインから項目を追加できるようにしました

/** Geminiが自動生成した概要 **/
SOY Shopの注文一覧ページの検索フォームにプラグインから項目を追加できる拡張ポイントが実装されました。標準機能の納品書出力プラグインでは、出力時に最終出力日時を記録し、検索フォームで「最終出力日」または「納品書の未出力」を条件に注文検索が可能になりました。この拡張は業務アプリ向けの機能強化として実装され、在庫管理業務の効率化に貢献します。 開発者向けには、`soyshop.order.search.php` という拡張ポイントが用意され、独自の検索項目を追加できます。詳しくは`/article/管理画面の注文検索の拡張ポイントsoyshop.order.search.php`を参照ください。パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

Jenkinsの動作が遅くなった時の対処

/** Geminiが自動生成した概要 **/
Jenkinsの動作が遅くなり、ビルドの失敗が増えたため調査したところ、ビルドログの蓄積が原因と判明。ログディレクトリ(/var/lib/jenkins/jobs/プロジェクト名/builds/)内の古いログを削除することでJenkinsの動作は改善された。 ログ問題の恒久的な解決策として、Discard Old Build pluginをインストール。プロジェクト設定のビルド後の処理で、ビルドログの保存数を10個に制限する設定を追加し、様子を見ることにした。

 

イネがシリカを吸収すると

/** Geminiが自動生成した概要 **/
イネのシリカ吸収は、倒伏防止、害虫忌避、病害耐性向上、リン酸吸収効率化、受光態勢改善など多くの利点をもたらす。ケイ酸はイネの組織を強化し、光合成を促進する。玄武岩質地質でも良質な米が収穫されることから、植物が吸収する「シリカ」は二酸化ケイ素ではなく、かんらん石等の可能性が示唆される。肥料としてシリカを与える場合は、グリーンタフ由来の粘土鉱物が有効。グリーンタフは火山灰が堆積したもので、モンモリロナイトなどの粘土鉱物を豊富に含む。

 

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

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

 

Google Apps ScriptのHTML ServiceでGoogle Calendarの予定を取得してみる

/** Geminiが自動生成した概要 **/
社会人・学生向けプログラミング教室で、Googleスプレッドシートの拡張機能開発に関する勉強会が開催されました。参加者はGoogle Apps Scriptを用いて、スプレッドシートの操作やWeb API連携を学ぶことで、業務効率化やデータ分析に役立つ実践的なスキルを習得しました。具体的には、HTML ServiceとSpreadsheet Serviceを活用し、スプレッドシートデータの取得・表示、カスタムメニューの追加、外部サービスとの連携などを実践。参加者からは、日々の業務に活かせる具体的な知識を得られたと好評を得ました。さらに、Google Apps Scriptの基礎から応用までを体系的に学べるため、プログラミング初心者でも安心して参加できたという声も寄せられました。

 

SOY Shopで再注文プラグインを作成してみた

/** Geminiが自動生成した概要 **/
SOY Shop用の再注文プラグインが開発されました。 以前作成された注文複製プラグインとは異なり、今回のプラグインは顧客情報を変更した再注文を可能にします。注文詳細画面に「注文の再登録」ボタンが追加され、クリックすると管理画面の注文登録画面に遷移します。以前の注文の商品情報が自動入力されるため、顧客と支払い方法を選択するだけで再注文が完了します。この機能は、商品点数の多い注文や、施工計算の見積書作成などで特に効果を発揮します。プラグインはsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

植物は銅を何に活用するか?

/** Geminiが自動生成した概要 **/
生物は常に活性酸素を発生しており、これは呼吸によるエネルギー産生の副産物である。活性酸素は細胞を傷つけるため、老化や病気の原因となる。しかし、生物は活性酸素を完全に排除するのではなく、免疫や細胞の情報伝達などにも利用している。活性酸素の発生源や種類、細胞への影響、そして生物がどのように活性酸素を利用し、防御しているかを理解することは、健康維持や病気予防に繋がる。

 

SOY Shopで利益上乗せ型の施工計算に合算に含めない項目設定を追加してみた

/** Geminiが自動生成した概要 **/
SOY Shopの施工費計算モジュールに、利益を乗せた金額から作業コストを計算しやすくする機能追加が行われた。 従来、部品ごとに利益を上乗せする計算方法では、全体の利益額が分かりにくかった。そこで、合算に含める/含めない項目を設定できるようになり、詳細画面で合計金額とは別に、含めない金額(主に作業コスト分)を表示できるようになった。これにより、合算から非包含金額を引くことで、実際の利益を容易に把握できる。この改良版モジュールはsaitodev.coからダウンロード可能。

 

SOY Shopで在庫管理の業務アプリに向けての機能追加

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面でプラグインが独自のページを持てるようになりました。従来、プラグインの設定画面はSOY Shop管理画面の特定のページ内に表示されていましたが、今回のアップデートにより、プラグインごとに独立したページを作成できるようになりました。これにより、プラグインの設定項目が増えても管理画面が煩雑にならず、プラグイン開発者も自由にページ構成を設計できます。新しいページはメニューに追加され、アクセスしやすくなりました。この機能はSOY Shop2.1.1以降で利用可能です。今後、プラグイン開発者はこの機能を活用して、より使いやすい管理画面を提供することが期待されます。

 

さくらVPSにJenkinsを入れて、Selenium + php-webdriverを動かせるようにする

/** Geminiが自動生成した概要 **/
さくらVPS(Ubuntu 16.04)にJenkinsを導入し、Seleniumとphp-webdriverでUIテストを自動化する方法を紹介。Jenkinsインストール後、初期設定、ジョブ作成、Git連携、ビルドトリガー設定、シェルスクリプト実行設定、メール通知設定を行い、Apacheの設定を調整してテスト実行環境を構築。15分毎にGitリポジトリをポーリングし、変更があれば自動的にテストを実行、結果をメールで通知。これにより、月700円のVPS費用で継続的なUIテストを実現。

 

SOY Shopで全ての子商品の在庫数を確認する

/** Geminiが自動生成した概要 **/
SOY Shopで商品規格プラグインを利用している場合、全子商品の在庫数を簡単に確認する方法として、在庫管理プラグイン(または在庫数一括設定プラグイン)の活用が推奨されています。商品規格プラグインは子商品を利用するため、CSVエクスポートでの確認が煩雑になるためです。在庫管理プラグインでは、検索条件を指定して商品一覧を表示、在庫数の一括変更が可能ですが、今回、親商品を非表示にする機能が追加されました。具体的には、「表示件数:100件」、「公開状態:公開のみ」、「子商品の表示:通常商品以外」を設定することで、各規格ごとの子商品の在庫数のみが表示されるようになります。アップデート版はサイト(/soycms/soyshop/)からダウンロード可能です。

 

SOY Shopで会員検索サイトを構築しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客管理機能を活用し、新潟県司法書士会の会員検索サイトを構築。標準機能とプラグイン(ユーザーカスタムサーチフィールド、顧客グループ、顧客住所GoogleMaps連携、ストレージ)を組み合わせ、簡裁代理権などのカスタム項目や事務所情報、地図連携を実現。管理画面は不要な注文・商品関連機能を非表示化し、会員管理に最適化。カート・マイページ機能も無効化。都道府県の標準設定を新潟県に設定するなど、ユーザビリティも向上。構築手順を紹介しつつ、検索結果・詳細ページ作成については問い合わせを促している。

 

枕状溶岩と出会いに高槻の本山寺へ4

/** Geminiが自動生成した概要 **/
筆者は、高槻の本山寺周辺で海底火山由来の枕状溶岩を探す中で、緑色に変質した溶岩を発見。これは粘土鉱物の採掘に繋がるのではと考察し、土壌運搬のヒントになると考えた。次に、スランプボールと呼ばれる露頭箇所を目指し、川久保渓流の支流で傾斜した地層を確認。これは海底地すべりによって砂岩が泥の中に混じるスランプ構造であることを文献で確認した。しかし、砂岩の形状に関する記述の理解には至らず、今後の経験値蓄積と再調査を決意。付随して、衝上断層の判別方法が分からなかったことも記している。

 

SOY ShopでPAY.JPクレジットカード支払いモジュールを作成しました

/** Geminiが自動生成した概要 **/
SOY Shop用のPAY.JPクレジットカード支払いモジュールが開発され、無料で簡単にクレジットカード決済を導入できるようになった。PAY.JPは初期費用・月額固定費不要のプランもあり、導入障壁が低い。モジュールの利用には、PAY.JPでアカウント作成後、APIキーを取得し、SOY Shop管理画面のモジュール設定に入力する。設定完了後、購入画面でクレジットカード支払いが選択可能になる。カード情報非通過にも対応済み。詳細はサイト(saitodev.co/soycms/soyshop/)で確認できる。定期課金モジュールも提供されている。

 

SOY Shopの管理画面の顧客検索でユーザーカスタムサーチフィールドの項目を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の顧客検索に、ユーザーカスタムサーチフィールドが追加されました。管理画面でフィールドを追加すると、検索フォームが生成され、顧客情報の絞り込みが可能になります。CRMと連携せずとも、ある程度の顧客管理が可能になります。試作版のため対応漏れがあり、使用したいフィールドの種類が動作しない場合は問い合わせフォームから連絡できます。パッケージはサイトからダウンロード可能です。

 

SOY Shopで勤務先関連の項目の非表示設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの顧客グループプラグインで、顧客登録画面の勤務先項目の表示・非表示設定が追加されました。顧客グループで勤務先を管理する場合、標準の勤務先項目は二重登録の原因となるため、非表示設定が有用です。BtoCの物販サイト等でも勤務先情報が不要な場合に活用できます。非表示設定は管理画面の基本設定で行います。この更新により、顧客情報の入力操作が簡素化され、クライアントへの納品時にも混乱が避けられます。アップデート版はsaitodev.coからダウンロード可能です。

 

JA京都にのくにさんの万願寺甘とう中間検討会で肥料の設計の話をしました

/** Geminiが自動生成した概要 **/
JA京都にのくにの万願寺甘とう中間検討会で、京都農販が肥料設計の講演を行いました。長期栽培の果菜類では、初期の土壌塩類濃度が収穫期の秀品率に大きく影響するため、土壌分析結果に基づいた施肥設計の重要性を説明しました。特に今年の猛暑は秀品率低下の一因となるため、ストレス軽減のための施肥設計を提案しました。質疑応答ではハウス内の温度低減策が話題となり、以前紹介したハンガースプレーによる冷却効果にも触れました。露地ではスプリンクラー、ハウス内ではハンガースプレー等、設備の見直しも暑さ対策として有効です。

 

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

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

 

SOY Shopのサイトマッププラグインでカスタムサーチフィールドのページを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのサイトマッププラグインがアップデートされ、カスタムサーチフィールドで生成された商品一覧ページのURLをサイトマップに追加できるようになりました。 対応フィールドは現在チェックボックスとセレクトボックスのみ。カスタムサーチフィールドの管理画面で「サイトマップに追加する」を選択することで、商品一覧ページがサイトマップに登録されます。多言語化プラグインとの併用は現状未対応。更新版パッケージはsaitodev.coからダウンロード可能です。この機能により、複数カテゴリのような設定や高度な検索フォームで絞り込まれた商品一覧ページへのアクセスが容易になり、SEO効果も期待できます。

 

SOY ShopのCSVインポートエクスポートで0からはじまる数字を扱いたい

/** Geminiが自動生成した概要 **/
SOY ShopのCSVインポート・エクスポートで0から始まる数字を扱うには、冒頭の0が削除されるのを防ぐ必要があります。LibreOfficeでCSVを編集する際、セル書式設定から「先頭のゼロの値」に桁数を指定することで、0を保持できます。例えば、5桁の数字の場合は「5」を設定します。これにより、SOY Shopへのインポート時に0が削除されずに追加されます。

 

カスタムサーチフィールドでラジオボタン等の検索項目の多言語化対応を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドに、ラジオボタンなどの検索項目の多言語対応が追加されました。管理画面で各言語ごとに項目を設定することで、公開側では検索フォームの項目が自動的に多言語化され、検索も多言語の値に対応します。これにより、多言語サイトにおける高度な検索フォームの設置が容易になります。

 

SOY Shopのカスタムサーチフィールドの多言語化対応

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドが多言語化対応しました。商品名・カテゴリ名に続き、カスタムサーチフィールドの値も各言語毎に設定可能になり、CSVのインポート/エクスポートにも対応。管理画面では、各言語商品編集画面からカスタムサーチフィールドの設定を開き、言語ごとの値を入力できます。CSVによる多言語データの一括登録も可能になり、運用負荷を軽減。カスタムサーチフィールドは、カスタムフィールドと比べデータベーススキーマが洗練されており、表示速度の低下が起こりにくいメリットがあります。多言語対応版はsaitodev.coからダウンロード可能です。

 

SOY ShopのカテゴリCSVでカテゴリカスタムフィールドに対応しました

/** Geminiが自動生成した概要 **/
SOY ShopのカテゴリCSVインポート/エクスポート機能が強化され、カテゴリカスタムフィールドに対応しました。カテゴリカスタムフィールドプラグインをインストールし、項目を追加すると、CSVのインポート/エクスポートページにカスタムフィールドが追加されます。これにより、CSVでのカテゴリデータ管理がより柔軟になります。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

SOY Shopの商品CSVで商品名の多言語化

/** Geminiが自動生成した概要 **/
SOY Shopの商品CSVインポート/エクスポート機能が強化され、商品名の多言語化に対応しました。多言語サイトプラグインを導入すると、商品名入力欄が言語ごとに拡張されます。今回のアップデートでは、この拡張された商品名(各言語)もCSVのインポート/エクスポートで扱えるようになりました。 これにより、多言語サイトでの商品登録・管理が大幅に簡略化されます。対応版はサイト(https://saitodev.co/soycms/soyshop/)からダウンロード可能です。

 

Ubuntu版BracketsのBeautifyの設定

/** Geminiが自動生成した概要 **/
BracketsエディタのプラグインBeautifyでPHPファイル保存時の自動改行を停止しようと試みたが、設定変更は断念。PHPの終了タグ`?>`の後の改行が不要だったのが理由。しかし、最近のPHPコード規約では、PHPのみのファイルでは終了タグ自体が不要と知り、全ファイルから`?>`を削除することに。結果として、Bracketsの自動改行挿入設定は変更せずそのままとした。

 

ロードアベレージ

/** Geminiが自動生成した概要 **/
サーバ監視の重要指標であるロードアベレージは、CPUリソースへの需要を示す。実行中のスレッドと実行待ちスレッドの合計から計算され、uptimeコマンドで1分、5分、15分間の平均値を確認できる。ロードアベレージがCPU数を超えると、CPUが不足しスレッドが待機している状態を示す。逆に下回ればCPUに余裕がある。例として、2コア2スレッドCPU(論理CPU4)でロードアベレージ0.47は余裕がある状態と言える。

 

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

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

 

CPUの監視2

/** Geminiが自動生成した概要 **/
MuninのCPU監視項目を解説。systemはカーネルモード、userはユーザモードのCPU使用時間。niceは低優先度プロセスの数、idleは未使用時間。iowaitはI/O待ち、irqとsoftirqは割り込み処理時間。stealは仮想環境でタスク実行が遅延された時間。guestはゲストOS(Webアプリ)のCPU使用時間。各項目を理解した上で、次にファイルシステムの監視に移る。

 

CPUの監視

/** Geminiが自動生成した概要 **/
MuninのCPU監視グラフ解説の導入部分。CPUは計算処理を行う部分で、ユーザモードとカーネルモード(OSの基礎処理)を使い分ける。カーネルモードではシステムコールを介してOSに処理を依頼する。CPUは割り込み機構により処理を中断できる。CPUは同時処理に見せかけて、実際は処理を切り替えながら実行している。詳細は次回に続く。

 

メモリーの監視

/** Geminiが自動生成した概要 **/
本ブログ記事は、Webサービス監視ツールMuninのメモリグラフ項目を理解するため、「詳解 システム・パフォーマンス」を参考に作成された学習メモです。freeコマンドの出力も踏まえ、apps(使用メモリ)、page_tables(OSとCPUが使うメモリ単位のアドレスマッピング)、slab_cache(カーネルキャッシュ)といった主要項目を詳細に解説。さらに、CPU高速化のためのキャッシュや一時データ用のバッファの概念、active/inactiveメモリの役割も説明しています。最終的に、現在のサーバーメモリはオーバースペックであると結論付けています。

 

カスタムサーチフィールドのチェックボックスで商品詳細ページで選択した項目を表示したい

/** Geminiが自動生成した概要 **/
SOY Shopのカスタムサーチフィールドでチェックボックスの値を商品詳細ページに表示、更にリンク化する方法。管理画面でチェックボックス型のカスタムサーチフィールド(例:フィールドID「custom_check」、ラベル「カスタムチェック」)を作成し、各項目を設定。商品詳細テンプレートに`<!-- csf:id="custom_check_番号_visible" -->`と`<!-- csf:id="custom_check_番号" -->`を記述することで、選択された項目のみ表示される。番号は設定した項目の順番(0始まり)。リンク化は`<a href="{url}=<!-- csf:id="custom_check_番号" /-->">`で囲み、{url}をサイトURLに置き換える。

 

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

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

 

SOY Shopの商品一覧ページでカスタムフィールドによるソートを設定する

/** Geminiが自動生成した概要 **/
SOY Shopで商品一覧をカスタム順に表示するには、カスタムフィールドを利用します。プラグインでカスタムフィールドを有効化し、「一行テキスト」型のフィールドを作成、これをソートに使用することを指定します。ページ管理から対象の商品一覧ページの設定を開き、「カスタム項目でソート」を選択、作成したフィールドを指定します。商品ごとに並び順を設定するには、各商品詳細ページのカスタムフィールドに数値を入力します。文字列としてソートされるため、1, 2, 11ではなく、101, 102, 111のように3桁の数値を使うことで意図しない並び順を回避できます。

 

SOY Shopで注文と商品のタブの表示の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopは、多岐にわたるアプリ開発の要望(受注・予約管理など)に対応するため、従来の個別開発から「SOY Shop+プラグイン」中心の効率的な開発方針へ移行しました。これにより、開発フィードバックの最大化を目指します。 具体的には、SOY Shop管理画面に「注文」「商品」タブの表示設定を追加。不要なタブを非表示にすることで、ユーザーが高機能さに圧倒されることなく、直感的に操作できるよう改善。操作説明の手間も削減し、新規ユーザーの導入ハードルを下げ、利用促進を図ります。引き続きSOY Shopの可能性を追求し、最新修正はGitHubパッケージで提供中です。

 

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

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

 

SOY Shopの管理画面の新着ページをプラグイン化しました

/** Geminiが自動生成した概要 **/
SOY Shopの管理画面の新着ページがプラグイン化されました。これにより、各項目の表示/非表示や表示順をプラグインで制御可能になります。ネットショップ以外の用途、例えば会員制ブログやカタログサイト等での利用が増えているため、受注関連情報を非表示にし、別のアプリの要素を表示するといったカスタマイズが容易になります。 この変更によりSOY Shopの多様な活用方法が期待されます。変更はGitHub上のsoyshopパッケージに反映されています。

 

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

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

 

SOY CMSとSOY Shopで有料ブログを運営してみよう

/** Geminiが自動生成した概要 **/
SOY CMSとSOY Shopを組み合わせることで、有料ブログを簡単に構築できます。SOY Shopでライセンス商品を登録し、顧客情報入力やプラグインを簡素化することで、ユーザーの購入手続きをスムーズにします。SOY CMS側では、SOY Shopログインチェックプラグインを使って有料記事へのアクセス制限を設定し、特定の商品購入者を許可します。クレジット決済モジュールと連携すれば、スムーズな支払い確認が可能になります。さらに、PayPalやPAY.JPの継続課金モジュールを利用することで、月額課金型の有料会員制ブログ運営も実現できます。

 

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

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

 

SOY Shopの注文検索と顧客検索の結果をSOY Mailで利用する機能を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの注文・顧客検索機能が強化され、SOY Mailとの連携が向上しました。注文検索では顧客情報、商品、金額等の絞り込みが可能になり、顧客検索では購入合計と購入回数が追加されました。また、顧客属性の一括設定とCSV出力も実装。これらの機能拡張により、SOY Shopの注文状況に基づいたメール配信が容易になり、SOY Mailの下書き自動保存機能と合わせてメールマーケティングの効果的な運用を支援します。最新パッケージはGitHubからダウンロード可能です。

 

京丹後九条ネギ組合さんで土壌分析の活用の話をしました

/** Geminiが自動生成した概要 **/
京丹後九条ネギ組合で実施された土壌分析の活用法について説明。pHが低いと酸性土壌となり作物への影響が出やすいこと、石灰が多いと次作でカルシウム欠乏が発生する可能性があることを指摘。また、カルシウム過剰症がカルシウム欠乏を誘発するメカニズムを解説。さらに、京丹後の真砂土の接写写真から、土の特徴である粘土の引っ張る力の弱さを推測するポイントを共有した。

 

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

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

 

GitHub Pagesでページを作成してみた

/** Geminiが自動生成した概要 **/
GitHub PagesでWebページを公開する方法を解説した記事です。まず、GitHubでリポジトリを作成し、ローカルでindex.htmlを作成、プッシュします。次に、GitHub上でブランチをgh-pagesに切り替えることでページが公開されます。記事では画像付きで手順を説明し、最終的にhttps://{username}.github.io/{repository}でアクセスできることを示しています。

 

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

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

 

SOY2DAOでSQLを実行して、オブジェクトで返す

/** Geminiが自動生成した概要 **/
SOY2DAOで複雑なSQLを実行しつつ、結果をオブジェクトで取得する方法が紹介されています。顧客テーブルとカスタムフィールドテーブルを結合し、特定のカスタムフィールド値を持つ顧客情報を取得する例が示されています。 `SOYShop_UserDAO` の `executeQuery` でSQLを実行し、結果の配列をループ処理で `getObject` メソッドに渡すことで、各レコードが `SOYShop_User` オブジェクトに変換されます。これにより、カスタムフィールドの値で検索しながら、必要な顧客情報のみをオブジェクトとして扱いやすく取得できます。この手法は、以前紹介されたSOY CMSの検索フォーム追加の記事でも活用されています。

 

SOY Shopで複数カテゴリの様な設定を行う

/** Geminiが自動生成した概要 **/
SOY Shopでは複数カテゴリ機能はパフォーマンス低下のため廃止され、代替としてカスタムサーチフィールドプラグインが推奨されています。カスタムサーチフィールドでは、チェックボックス形式で複数の「タグ」を商品に設定可能。管理画面で項目を追加し、商品詳細ページでタグを選択、商品一覧ページには専用ページを作成し、CustomSearchFieldItemListモジュールを適用することでタグによる絞り込みを実現します。URLは「http://ドメイン/ショップID/ページのURL/フィールドID/タグ値」となります。ただし、管理画面の商品検索ではカスタムサーチフィールドによる検索は不可。その対策として、各フィールドに一括設定ページが用意され、簡易的な商品検索フォームが利用可能です。

 

陰イオン交換容量AEC

/** Geminiが自動生成した概要 **/
土壌中には陽イオン交換容量(CEC)だけでなく、陰イオン交換容量(AEC)も存在する。AECは一部の粘土鉱物、特に火山灰由来のアロフェン表面のOH<sub>2</sub><sup>+</sup>が陰イオンを保持する。しかし、AECは値が小さく、腐植などで増加せず、土壌改良の影響を受けにくい。アロフェン添加でAECは向上するが、土壌分析項目にAECが含まれないことから、実用的には重要視されていないと考えられる。

 

SOY Shopで高度な検索フォームを設置してみよう

/** Geminiが自動生成した概要 **/
SOY Shop用のプラグイン「カスタムサーチフィールド」の紹介。このプラグインは、高度な検索フォームをサイトに簡単に設置できる。カスタムフィールドのように項目を追加し、生成されたタグを貼り付けるだけでフォームが表示される。商品カタログサイトでの活用が想定され、複数選択可能なチェックボックスフィールドをタグのように使う事例もある。カスタムフィールドからのデータ移行も可能。プラグインはsaitodev.co/soycms/soyshop/ からダウンロードできる。

 

鉄過剰症で見えてくるマンガンの存在

/** Geminiが自動生成した概要 **/
鉄過剰症になるとマンガン欠乏が発生しやすく、植物の生育に深刻な影響を与える。マンガンは鉄と同様に酸化還元反応に関与するが、鉄より配位力が小さく、より重要な働きを担う。例えば、光合成における水の酸化分解、活性酸素の生成、ビタミンCの合成などに関わっている。鉄は活性酸素の抑制に働くのに対し、マンガンは活性酸素の生成に関与するなど、鉄より強力な作用を持つ。そのため、鉄過剰でマンガンが欠乏すると、これらの必須機能が阻害され、植物の生育に悪影響が出る。

 

PHPで楽天市場の商品登録を楽しよう:GitとTortoiseGit編

/** Geminiが自動生成した概要 **/
楽天市場の商品登録をPHPで行うため、複数人での在宅作業におけるファイル管理を容易にするためGitとTortoiseGitを導入。TortoiseGitはGUIで操作できるため、Gitに不慣れなメンバーでも「プル」「プッシュ」「コミット」といった操作を右クリックメニューから容易に行える。BitBucketをリポジトリとして利用し、プルとプッシュの手順を指示することでファイルの競合を最小限に抑え、作業効率を向上させた。

 

SOY Shopの商品一覧ページでカスタムフィールドの値で商品の並び替え

/** Geminiが自動生成した概要 **/
SOY Shopのソートボタン設置プラグインでカスタムフィールドの値によるソートが可能になりました。商品カスタムフィールドの「高度な設定」で「ソートに使用する」にチェックを入れると、プラグイン管理画面にソート用タグが表示されます。このタグを商品一覧ページテンプレートに貼り付けることで、カスタムフィールド値に基づくソートボタンが設置できます。機能はsoyshop_1.17.3p7.2.zip以降のパッケージか、フォーラムの修正ファイルで利用可能です。

 

さくらのVPS + Apache2.4のサーバでSSL対応してみた

/** Geminiが自動生成した概要 **/
さくらVPS上のApache2.4でSSL証明書を設定する方法を解説した記事です。opensslを用いて秘密鍵とCSRを作成し、認証局に提出、発行された証明書と中間CA証明書を所定のディレクトリに配置、Apacheの設定ファイルを編集してSSLを有効化します。設定ファイルでは、証明書ファイル、秘密鍵ファイル、中間CA証明書のパスを指定します。最後にApacheを再起動し、httpsでアクセスしてSSL設定を確認します。記事ではLet's Encryptを使った簡便な設定方法への言及もあります。

 

ヤンマー南丹支店さんで土壌分析についての話をしました

/** Geminiが自動生成した概要 **/
ヤンマーアグリジャパン中部近畿カンパニー南丹支店にて、土壌分析の活用法に関するセミナー講師を務めました。土壌分析結果の各項目が栽培にどう影響するか、今後の栽培計画へどう繋げるかを解説しました。特定項目の極端な高低値は、他の要素の不足につながるため、化学的な対策の重要性を強調。来週も同会場で勉強会を予定しています。

 

SOY InquiryのレスポンシブとHTML5対応

/** Geminiが自動生成した概要 **/
SOY Inquiryを使ってレスポンシブデザインのお問い合わせフォームを作成する方法を紹介しています。レスポンシブデザインとは、PCとスマートフォンでそれぞれ見やすい表示になるよう自動調整されるWebデザイン手法です。設定は、フォーム設定で「responsive」を選び、スタイルシートを読み込むをチェックするだけ。HTML5のrequired属性にも対応し、必須項目の未入力時に警告を表示できます。設定はカラム設定で「required属性を利用する」をチェックするだけ。pattern属性も利用可能で、入力パターンの指定ができます。フォームの属性にpattern="正規表現"を追加するだけで設定できます。ただし、住所検索機能とは競合するため注意が必要です。ダウンロードやフォーラムへのリンクも記載されています。以前の記事「スマホ対応のお問い合わせフォームを作ってみた」の内容を元に、更に機能が追加されています。

 

廃菌床という資材のこと

/** Geminiが自動生成した概要 **/
キノコ栽培後の廃菌床は優れた土壌改良資材となる。菌床栽培では、米糠、麦糠、トウモロコシ糠などを主栄養源に、貝殻やカルシウム塩などを補助栄養源として使用する。これにより、廃菌床には保肥力と緩衝性が備わる。また、キノコ収穫後の培地は窒素飢餓の心配がない分解された有機物であるため、土壌改良に有効。結果として、廃菌床は団粒構造の形成に加え、保肥力と緩衝性も兼ね備えた資材となる。

 

売上の一部を普通預金に入れてみる

/** Geminiが自動生成した概要 **/
簿記の仕組みを理解するために、GnuCashを使用して架空の取引を記録しました。100万円の普通預金から始め、20万円の売上を得て、その半額を普通預金に入金しました。まず、売上を記録し、資産である「現金」が増加し、「売上」という収益が増加する取引を作成しました。次に、売上の半額を普通預金に移す必要がありましたが、普通預金に直接入金する方法では失敗しました。正しく記録するには、資産である「現金」を減らして、「普通預金」を増やす取引を作成する必要があることを理解しました。この方法により、資産の合計は不変で、現金が10万円減少し、普通預金が110万円になりました。このプロセスにより、簿記の基本的な概念を理解し、将来のより複雑な取引に備えることができました。

 

GnuCashの文字化け対策

/** Geminiが自動生成した概要 **/
GnuCashで文字化けが起こった場合、pango.aliasesファイルを作成し、フォントをメイリオに設定することで解決できます。さらに、スタイルシートで数値セルをメイリオに設定すると、貸借対照表で数字が表示されます。この手順に従うことで、GnuCashの文字化けを解消し、複式簿記を始められます。

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

Powered by SOY CMS   ↑トップへ