ブログ内検索

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

ヘブンリーブルーアントシアニンの構造を見る

/** Geminiが自動生成した概要 **/
セイヨウアサガオ「ヘブンリーブルー」の青い色素「ヘブンリーブルーアントシアニン」は、ペオニジンというアントシアニンに、2つの糖とコーヒー酸が結合した構造をしています。注目すべきは、糖とポリフェノールが様々な箇所で他の化合物と結合できる点です。この結合が繰り返されることで、大きな化合物(タンニンなど)が形成される可能性があります。

 

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

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

 

沖縄の土を地質と合わせて確認してみる

/** Geminiが自動生成した概要 **/
この記事は、沖縄の土壌と地質の関係を考察しています。まず、沖縄本島南部を例に、土壌図と地質図を比較しました。土壌図では未熟土が多いのに対し、地質図では石灰岩の分布は予想より狭く、未熟土の成因に疑問が生じました。 そこで土壌図を拡大したところ、石灰岩地域は石灰性暗赤色土、それ以外は低地土やグライ土と分類されていました。つまり、石灰岩以外の付加体が未熟土の基盤となっている可能性があります。 結論として、沖縄本島では石灰岩の影響は限定的で、未熟土の成因には他の要因も考えられると示唆しました。

 

畑作の輪作の稲作ではリン酸はどのようにして減っていくのか?

/** Geminiが自動生成した概要 **/
畑作後に水田を作ると、リン酸が減少する理由は、水田の還元環境にあります。 通常、土壌中のリン酸は鉄と結合し、水に溶けにくいFePO₄の形で存在します。しかし、水田の酸素が少ない環境では、鉄が還元されFe²⁺となるため、リン酸との結合が弱まり、水に溶けやすい形に変化します。 また、カルシウムと結合したリン酸も比較的溶けやすく、水田環境では自然と減少します。これらの要素が重なり、畑作後の水田でリン酸が減少すると考えられています。

 

稲作を理解するために赤トンボを学びたい

/** Geminiが自動生成した概要 **/
童謡でおなじみの赤トンボことアキアカネが減少している。開発による自然環境の減少だけが理由と思いがちだが、アキアカネは実は汚れた止水を好むため、単純ではない。アキアカネはプールでもよく見られることから、幼虫期の環境よりも、成虫になってからの環境悪化が個体数減少に影響している可能性がある。本記事では、アキアカネの生態を紐解きながら、減少の理由を探っていく。

 

とろろの各種効能は何由来か?

/** Geminiが自動生成した概要 **/
とろろそばのポスターでうたわれている、とろろの効能「疲労回復、老化防止、美容効果、記憶力向上」の成分を探っています。 企業サイトによると、とろろにはデンプン分解酵素、コリン、サポニン、食物繊維が含まれています。 すりおろすことで加熱せず酵素を摂取でき、食物繊維が酵素の活性を維持します。 今回は触れていませんが、コリンにも注目すべき効能がありそうです。

 

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

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

 

泥炭土の地域のハウス栽培は難易度が高い

/** Geminiが自動生成した概要 **/
泥炭土は有機物豊富だが、鉄など微量要素が少ない。ハウス栽培だと雨水による供給もなく、不足しやすい。緑肥で土壌中の比率が更に偏り、鶏糞の石灰が鉄の吸収を阻害、葉が黄化したと考えられる。泥炭土は畑作に向かず、ハウス栽培だと微量要素欠乏に注意が必要。

 

BBC Micro:bitのプルダウン抵抗1

/** Geminiが自動生成した概要 **/
記事では、マイクロビットを使ってプルダウン抵抗の仕組みを解説しています。 まず、タクトスイッチと10kΩの抵抗を用いてプルダウン回路を構成し、ボタンを押すとマイクロビットのディスプレイのアイコンが変わるプログラムを作成しています。 記事では、プルダウン抵抗の詳細は後述するとして、動作するコードを示しています。 具体的には、マイクロビットのGPIO 0ピンに接続されたタクトスイッチが押されると、ディスプレイのアイコンが悲しい顔から笑顔に変化し、2秒後に再び悲しい顔に戻るというものです。 記事は、この動作例を通じて、プルダウン抵抗の役割について詳しく解説していくことを予告しています。

 

SOY CMSのカスタムフィールドアドバンスドの見直しで表示速度の改善

/** Geminiが自動生成した概要 **/
SOY CMSのカスタムフィールドアドバンスドとサムネイルプラグインの表示速度改善に関する記事の要約です。 記事では、多数の記事を表示する際に発生する表示速度の低下について、その原因と解決策が解説されています。 主な原因は、記事ごとにカスタムフィールドの値を取得する際に、データベースへのアクセスが繰り返されるためでした。 解決策として、記事に紐づくカスタムフィールドの値を全記事分一度に取得し、必要な値のみに絞り込むことで、データベースアクセスを削減しました。 この改善により、特に記事数が50件や100件といった大量に表示する場合に、表示速度の向上が期待できます。

 

SOY Shopでアクセス制限プラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのアクセス制限プラグインが開発され、標準機能として同梱されました。このプラグインは、特定のブラウザからのみアクセス可能なページを作成し、IPアドレスと紐づけた固有の鍵をクッキーで管理することで実現しています。管理画面でブラウザを登録すると鍵が生成され、クッキーに保存。SOY Shop側は鍵とIPアドレスをデータベースに格納し、有効期限を設定します。これにより、鍵の偽装や不正アクセスを防ぎ、セキュリティを高めています。このプラグインは、タブレット等で特定機能を利用する際の利便性向上に役立ちます。最新版はsaitodev.co/soycms/soyshop/からダウンロード可能です。

 

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

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

 

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

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

 

PHPのガベージコレクションを見る

/** Geminiが自動生成した概要 **/
PHPのガベージコレクション(GC)は参照カウント法を用いて不要なメモリ領域を解放する。`xdebug_debug_zval()`関数で確認できる`refcount`が参照数を示し、0になるとGC対象となる。オブジェクト型では、変数への代入で`refcount`が増減し、`unset`で`refcount`が減る。`refcount`が0になるとメモリが解放される。整数型などzvalに直接値を持つ型は`refcount`が0でも当てはまらない。`unset`は不要になったオブジェクトを明示的に解放し、メモリ効率を向上させるため有効。

 

PHPのzvalと変数の作成を見る

/** Geminiが自動生成した概要 **/
PHPの変数はzval構造体とzend_value共用体で表現される。zvalは型情報を持ち、zend_valueは実際の値を保持する。整数、文字列、配列など、型の違いはzend_valueの異なるメンバを使用することで実現される。変数名とzvalの関連付けはシンボルテーブルを介して行われる。`$a = 1`のような代入では、zvalが初期化され、zend_valueの`lval`に1がセットされ、シンボルテーブルに"a"というキーでzvalへのポインタが登録される。これにより、変数名から対応する値にアクセスできるようになる。

 

黄色い色素のフラボノイド

/** Geminiが自動生成した概要 **/
アサガオの青色はアントシアニン色素によるが、幻の黄色いアサガオの謎をフラボノイドから探る。フラボノイドは黄色い化合物の語源を持ち、ミヤコグサの黄色はフラボノイドの一種ケルセチンによる。アサガオはケルセチン合成経路を持つものの、アントシアニン合成が優先される。淡黄色のアサガオはアントシアニン合成が欠損した変異体と考えられ、ケルセチン合成の増加で黄色が濃くなる可能性がある。アサガオの鮮やかな青はアントシアニンと補助色素のフラボノールの共存によるものかもしれない。

 

色鮮やかなアサガオの秘密に迫る

/** Geminiが自動生成した概要 **/
アサガオはpH変化でペオニジンが青くなるため、理論的には青い花しか咲かないはずだが、実際は多彩な色の花が存在する。その理由はトランスポゾンによる突然変異にある。トランスポゾンの活発な動きは突然変異を誘発し、色素合成に関わる遺伝子に変化が生じることで、本来の青色とは異なる色合いの花が生まれる。色あせたアサガオもこの突然変異の一例である。

 

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

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

 

【SEO対策】IPv6

/** Geminiが自動生成した概要 **/
IPv6はSEO対策に有効な通信速度改善策。IPv4アドレス枯渇問題を解決する後発の規格で、理論上アドレス割り当ては無限大。16ビット単位の16進数表記で、IPv4より最適化されている。saitodev.coのようなWebサイトアクセスでは、DNSサーバでドメイン名からIPv4/IPv6アドレスを取得し、サイトサーバへアクセスする。IPv6設定はサーバ会社ごとに異なるが、DNS設定ではIPv4をAレコード、IPv6をAAAAレコードに登録する。設定確認は`ping -4/-6 ドメイン名`コマンドで可能。

 

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

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

 

PHPで並行処理

/** Geminiが自動生成した概要 **/
PHPで並行処理を行う方法として、exec関数でジョブファイルを実行する方法が紹介されています。ジョブファイルはバックグラウンドで実行され、メインプロセスとは独立して動作します。ただし、ジョブファイルの結果をメインプロセスに返すことができないという欠点があります。 記事では、Google OAuthを使ったジョブで、メインプロセスのセッション情報をジョブファイルで利用する方法についても説明されています。ジョブファイルの引数にセッションIDを渡し、ジョブファイル内でセッションを復元することで、アクセストークンなどのセッション情報を共有できます。 最終的に、ジョブの結果をメインプロセスで扱う方法については触れられていませんが、Go言語やNode.jsのような並行処理に適した言語の使用が推奨されています。

 

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

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

 

さくらのVPSで追加ストレージ(NFS)を利用してみた

/** Geminiが自動生成した概要 **/
画像データが容量の大部分を占めるサイト運営において、さくらのVPS 1Gプランのストレージ容量が逼迫し、バックアップ時の負荷でサイト表示に不調が生じていたため、追加ストレージ(NFS)の導入手順を解説。 まず、VPSコントロールパネルでスイッチを作成し、アプリケーションサーバとNFSのネットワークインターフェースに紐づける。次に、追加ストレージ(NFS)を契約し、IPアドレスとネットマスクを設定、同じくスイッチを紐づける。 その後、SSHでアプリケーションサーバに接続し、マウントポイントを作成、ネットワークインターフェースを設定、NFSをマウントするコマンドを実行。最終的に、再起動後も自動マウントされるようcrontabを設定する。 記事ではUbuntu 18.04.2での手順を記述。また、SOY CMSでNFSを利用するためのプラグイン開発中であり、問い合わせフォームへのリンクを掲載している。

 

東芝ドラム式洗濯乾燥機で洗濯時の水漏れ問題に挑戦

/** Geminiが自動生成した概要 **/
東芝ドラム式洗濯乾燥機TW-Z9500R(W)で、フィルター掃除後も左下から水漏れが発生したため、更なる掃除を実施。フィルター奥のネジを外し、磁石付きプラスドライバーを使用。紐を結んだ細いネジで小さなフィルターを取り出し洗浄。この小さなフィルターの清掃で洗濯機の調子が良くなる。水漏れはフィルター詰まり以外に、この小さなフィルターの汚れも原因となる可能性がある。

 

SOY CMS ASP版運営プラグイン

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

 

Go言語とQtで計算フォームを作成してみる

/** Geminiが自動生成した概要 **/
Go言語とQtでアルバイト給与計算フォームを作成。時給と時間を入力すると、合計金額が自動計算される。 QLineEditで入力値を取得し、strconv.Atoiで数値に変換、掛け算後、strconv.Itoaで文字列に戻し、goukeiInputに表示。入力値の変更を検知するために、jikanInputとjikyuuInputにConnectEditingFinishedを使い、calcAndInsert関数を呼び出している。 Clear()で以前の結果を消去してからInsert()で新しい結果を表示することで、値の更新を正しく行う工夫もされている。

 

Go言語のパッケージの関数とメソッドについて

/** Geminiが自動生成した概要 **/
Go言語のパッケージ内の関数と、構造体に紐づくメソッドの使い分けについて解説。`pac`パッケージ内の`Person`構造体を例に、`pac.GetName()`はパッケージ関数として`usako`を返し、`person.GetName()`は`Person`構造体のメソッドとして、`person`の`name`フィールド値を返す。パッケージ関数は構造体とは無関係だが、メソッドは構造体のフィールドにアクセスできる。`person := pac.NewPerson()`で構造体インスタンスを取得し、`person.SetName()`でフィールド値を設定する例も示している。

 

コケはどこから金属を調達するのか?

/** Geminiが自動生成した概要 **/
コケ植物は、特殊な細胞壁や生理活性物質により、高効率に金属を吸収・蓄積する能力を持つ。この性質を利用し、重金属で汚染された土壌や水質の浄化に役立てる技術が開発されている。コケは、他の植物と比べて環境への適応力が高く、生育速度も速いため、低コストで環境修復が可能となる。また、特定の金属を選択的に吸収するコケの種類も存在し、資源回収への応用も期待されている。さらに、遺伝子組換え技術を用いて金属吸収能力を向上させたコケの開発も進められており、今後の更なる発展が期待される。

 

紐の上のコケたち

/** Geminiが自動生成した概要 **/
ブログ記事「紐の上のコケたち」は、前回の「プラスチックと紐の上に土が出来る」というテーマの検証です。筆者は、紐の上に生えたコケを剥がし、土化しているのかを確認しました。その結果、コケは植物としての原型を留めており、土にはなっていませんでした。また、紐自体に養分が見られないことから、光合成を行うコケが、生育に必要な金属養分をどのように調達したのかという新たな疑問を提起しています。この記事では、紐の上に土ができるという現象は確認されていないと結論づけています。

 

プラスチックと紐の上に土が出来る

/** Geminiが自動生成した概要 **/
硬いチャートの表面でも土壌生成が観察される。チャートのわずかな凹凸や亀裂に、風や雨で運ばれた塵や有機物が堆積する。これらに、地衣類やコケなどの先駆種が着生し、風化を促進する。地衣類は岩石から養分を抽出し、枯死後は有機物となる。コケは保水性を高め、より多くの有機物を蓄積する。これらの生物活動と風化の相互作用により、徐々に土壌層が形成される。チャートのような硬い岩石でさえ、長い時間スケールでは生物活動の影響を受け、土壌へと変化していく。

 

Go言語でWebサイトから画像のデータを取得

/** Geminiが自動生成した概要 **/
Go言語でWebサイトから画像を取得し、ローカルに保存する方法を解説しています。`http.Get`で指定URLの画像データを取得し、`ioutil.ReadAll`でレスポンスボディをバイトスライスとして読み込みます。`os.Create`で新規ファイルを作成し、`file.Write`で取得したバイトデータを書き込むことで、画像ファイルを保存します。サンプルコードでは"植物のミカタ"の画像URLを使用し、"sample.jpg"として保存しています。記事では、HTTP GETリクエストとファイル作成の基本についても触れており、関連する記事へのリンクも提供しています。

 

Go言語で構造体のメソッド

/** Geminiが自動生成した概要 **/
Go言語のメソッドは、特定の型に紐づく関数です。`sample.go`で`Person`構造体を定義し、`Greet()`メソッドを実装します。`Greet()`メソッドは`Person`型のポインタ`*Person`をレシーバーとして受け取ります。`main.go`で`Person`型の変数`ryoko`を作成し、`ryoko.Greet()`と呼び出すことでメソッドを実行します。メソッド内では、レシーバー`p`を通して`Person`のフィールド(例:`p.Name`)にアクセスできます。初期実装では「こんにちは」と表示されますが、`fmt.Println(p.Name + "さん、こんにちは")`と変更することで「りょうこさん、こんにちは」と表示できます。

 

Apache上で利用しているLet's Encryptの失効

/** Geminiが自動生成した概要 **/
旧サーバーでLet's Encrypt証明書の失効、新サーバーで新規発行の手順を解説。 旧サーバーでは、`certbot`を使わず、`/opt/letsencrypt/letsencrypt-auto revoke`コマンドで証明書を失効、`delete`コマンドで関連ファイルを削除。ドメイン名(saitodev.co)を指定して実行。 新サーバーでの証明書発行手順は別記事を参照。

 

SOY ShopでTrackingmore連携プラグインでwebhookに対応しました

/** Geminiが自動生成した概要 **/
SOY Shopで国際荷物追跡サービス「Trackingmore」と連携するプラグインを開発し、「webhook」機能を追加しました。webhookでは、配送業者が発送を開始するとTrackingmoreからSOY Shopに通知が届きます。これにより、リアルタイム追跡の手間を省きつつ、SOY Shopの注文状態や発送メールの自動更新が可能になります。この連携により、出荷予定日前に代行業者から発送情報を受け取れなくても、配送状況を監視し、集荷や発送が確認され次第、発送済みメールを自動送信できます。これにより、確認業務が大幅に削減されます。リアルタイム追跡も併用することで、変更情報の確度が向上します。

 

SOY2HTMLでラジオボタンやチェックボックスを設置する - HTMLCheckBox編

/** Geminiが自動生成した概要 **/
SOY2HTMLでラジオボタンとチェックボックスを設置する方法を解説。HTMLCheckBoxクラスを用い、PHP側で`addCheckBox`メソッドを使い、HTML側で`<input type="(radio|checkbox)" soy:id="id名">`を記述する。`addCheckBox`の第二引数配列には、name, value, selected(チェック状態), label(ラベルテキスト)を指定する。ラジオボタンはnameを共通にすることでグループ化される。チェックボックスは単独で動作する。HTMLCheckBoxクラスはHTMLInputを継承し、labelタグを自動生成する機能を持つ。`isBoolean`をtrueに設定すると、値が未送信の場合に備えてhiddenで値0を送信する。

 

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

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのモジュール内でSQLを実行するには、SOY2DAOを利用します。データベースへの接続情報はSOYShop_DataSetsクラスで管理されており、`getDataSourceName()`でデータソース名、`getDatabaseUserName()`でユーザー名、`getDatabasePassword()`でパスワードを取得できます。データベースに接続するには、`SOY2DAOFactory::create("データソース名")`を使用します。createメソッドの引数は省略可能で、省略した場合はshopデータベースに接続します。SQLを実行するには、`query()`、`executeQuery()`、`execute()`メソッドを使用します。これらのメソッドは、`SOY2DAO`クラスのインスタンスメソッドとして呼び出します。

 

SOY Shopの伝票番号プラグインで発送状況の管理を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの伝票番号プラグインがアップデート!複数個口発送の管理が大幅に向上しました。 従来は複数個口の場合でも注文詳細の状態を一括でしか変更できませんでしたが、今回のアップデートで個々の伝票番号ごとに発送状況を管理できるようになりました。 具体的には、未発送の伝票番号一覧ページで、発送済み/未発送のステータス変更が可能に。さらに、全ての伝票番号が発送済みになると、自動で注文詳細も発送済みに更新されます。 発送漏れ防止に役立つ機能満載!詳しくはサイトで。

 

php-webdriverで任意のラジオボタンをチェックする

/** Geminiが自動生成した概要 **/
php-webdriverでラジオボタンを選択する方法について解説されています。id属性がある場合は`WebDriverBy::id()`で取得できますが、id属性がない場合は`WebDriverBy::xpath()`を使用します。xpathは複数の属性を指定して要素を取得でき、`//タグ名[@属性名='属性の値' and @属性名='属性値']`のように記述します。SOY CMSではラジオボタンにユニークなIDが自動付与されるため、xpathでの取得が推奨されています。

 

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

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

 

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

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

 

SOY Shopのサイトマッププラグインで多言語化対応しました

/** Geminiが自動生成した概要 **/
SOY Shopのサイトマッププラグインがアップデートされ、多言語サイトに対応しました。日本語ページと対応する他言語ページを自動で紐付ける機能が追加され、手動でURLを登録する際にも、各URLに他言語ページのURLを指定できるようになりました。カスタムサーチフィールドの商品一覧ページも多言語化に対応。これらの機能は最新のプラグインパッケージに含まれており、saitodev.coからダウンロード可能です。カスタムサーチフィールドを活用した高度な検索フォーム設定や複数カテゴリ設定、カタログサイト構築については、関連記事を参照ください。

 

SOY Shop商品紹介プラグインでカスタムサーチフィールドの値を出力可にしました

/** Geminiが自動生成した概要 **/
SOY CMSのブログ記事にSOY Shopの商品情報を表示する「SOY Shop商品紹介プラグイン」が、カスタムサーチフィールドの値を出力可能になりました。商品紹介プラグインは、ブログ記事に商品コードを紐づけることで、記事詳細画面に商品情報を表示する機能です。カスタムサーチフィールドは、商品名以外のスペック等で商品検索を可能にするSOY Shopのプラグインです。今回のアップデートにより、商品紹介プラグイン内でカスタムサーチフィールドの値(csf:id)が利用可能になります。最新パッケージはsaitodev.co/soycms/からダウンロードできます。

 

足元がキラリと光る植物のとっての地獄

/** Geminiが自動生成した概要 **/
ブラタモリ別府温泉の回で、温泉の源である由布火口の白い土壌が映し出された。これは風化しにくい石英が残り、植物の生育に不利な環境となっている。しかし、そこでススキらしき植物が育っているのを発見。通常、石英質の土壌では緑肥も効果が薄く、植物の生育は難しい。それなのに育つススキは、土壌を選ばない強い植物として知られる。著者は、このススキこそが、不利な土壌での栽培の鍵を握るのではないかと考え、現地調査を決意する。

 

カルシウム過剰によるカルシウム欠乏

/** Geminiが自動生成した概要 **/
京都市内の畑で、肥料過多と土壌pHの低下により野菜が育たない問題が発生。土壌分析の結果、リン酸過剰とpH4.5という強酸性が判明。施肥設計書に基づき堆肥と石灰を投入してきたことが原因で、土壌中のリン酸が鉄やアルミニウムと結合し、植物が利用できない状態になっていた。さらに、石灰過剰によりカルシウム濃度が異常に高く、マグネシウム欠乏も引き起こしていた。解決策として、有機物を投入し微生物の活性化を図り、リン酸を可給化することが提案された。この事例は、過剰な肥料投入とpH調整が土壌劣化につながることを示す重要な教訓となる。

 

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

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

 

在庫数一括設定プラグインで商品カテゴリによる絞り込みが甘い不具合を修正しました

/** Geminiが自動生成した概要 **/
SOY Shopの在庫数一括設定プラグインのバグ修正について。当初、商品カテゴリ検索でカテゴリIDのLIKE検索を用いていたため、意図しないカテゴリの商品も検索結果に含まれる不具合があった。例えば、カテゴリ1(ID:1)で検索すると、カテゴリ10(ID:10)も検索対象となっていた。これはIDに"1"が含まれるため。この不具合は修正済みで、修正版はGitHubからダウンロード可能。

 

SOY Shopの商品規格プラグインでセール価格の設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品規格プラグインがアップデートされ、商品規格ごとにセール価格を設定できるようになった。従来の在庫数・価格設定に加え、セール価格も個別に設定可能。適用するには、親商品の詳細画面で「セール中」をチェックする必要がある。これにより、紐づく全ての規格にもセール価格が反映される。このアップデートにより、商品規格ごとに柔軟な価格設定が可能になり、販売戦略の幅が広がる。機能の詳細はSOY CMSフォーラムで確認できる。

 

SOY Shopで購入回数属性自動振り分けプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY Shopのメールマガジン機能では、購入回数による絞り込み送信ができないため、顧客属性を活用する必要がある。しかし、手動設定は顧客数が多いと手間がかかる。そこで、購入回数に応じて自動で属性を振り分けるプラグインが開発された。管理画面で回数と属性名を設定し、cronに自動更新スクリプトを登録すれば、顧客全員に自動で属性が設定される。このプラグインにより、購入回数に基づいたメール配信が可能になる。ダウンロードはSOY CMSフォーラムにて提供されている。

 

SOY CMSで複数のブログ記事をまとめて検索できる機能を作ってみた

/** Geminiが自動生成した概要 **/
SOY CMSで複数のブログ記事をまとめて検索する機能を作成。従来のスクリプトモジュールブロックでは、記事取得後にブログ判別ができず適切なURLを出力できなかったため、cms:moduleを利用。SQLでラベルIDを指定して2つのブログから記事を取得し、取得結果からラベルIDに応じてURLを生成、出力することで複数ブログ検索を実現。モジュールではSQL実行結果を直接利用できるため、Entryオブジェクトへの変換が不要で、柔軟なURL生成が可能となった。

 

SOY CMSでどのページでも使えるブログのサイドバーを作ってみた

/** Geminiが自動生成した概要 **/
SOY CMSのPHPモジュールを使用して、ブログページのサイドバーコンテンツを他のページでも表示できるようになった。最新の投稿、カテゴリー一覧、月別アーカイブを取得するロジックを実装し、表示を整形した。これにより、ブログページと同様のコンテンツを非ブログページでも表示できるようになった。また、使用したSOY2DAOFactoryとSOY2Logicはデータベース操作やロジック処理を行うために使用された。

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

Powered by SOY CMS   ↑トップへ