ブログ内検索

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

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

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

 

米ぬか嫌気ボカシ肥は味噌の香り

/** Geminiが自動生成した概要 **/
米ぬか嫌気ボカシ肥を開封したところ、一般の認識と異なり「味噌の香り」がすると評されました。通常言われる甘い香りの段階は過ぎ、熟成が進んだ状態のようです。この独特の香りに着目し、生成AI(Gemini)を用いて味噌の香りの元となる化合物を調査。HEMFやグアヤコールなど複数の化合物が挙げられ、今後はこれらの化学的な探求を進めていく予定です。

 

あらゆる器官に薬効があるモモ

/** Geminiが自動生成した概要 **/
筆者は、和歌山県北部が桃の産地であることに興味を持ち、古代日本における桃の栽培について調べ始めました。桃のあらゆる部位に薬効があると記された「本草綱目」の記述をきっかけに、奈良県巻向周辺での古代の桃栽培の可能性を探求。その結果、奈良盆地中央付近にある田原本町の「黒田古代桃」に関する情報にたどり着きました。さらに、桃に関する記事で自身の出身地である神奈川県横浜市綱島の記述を見つけた筆者は、桃との運命的な繋がりを感じています。

 

ヤンバルでシマアザミと出会う

/** Geminiが自動生成した概要 **/
ヤンバルで緑色片岩を探していた著者は、白い花のシマアザミと出会う。シマアザミは、葉が薄く肉厚で光沢があるのが特徴で、これは多湿な沖縄の気候に適応した結果だと考えられる。また、花の色が白であることにも触れ、紫外線が強い環境では白い花が有利になる可能性を示唆している。さらに、アザミは、その土地の環境に適応した形質を持つことから、シマアザミの葉の特徴と緑色が薄い点について考察を深めている。

 

ノゲシの花からキク科の花の未来を思う

/** Geminiが自動生成した概要 **/
ノゲシの花が綿毛を形成するのが早く、送粉の仕組みが気になった筆者は、ノゲシに関する興味深いPDFを発見。千葉県野田市で白いノゲシが増加しているというのだ。これは、以前に観察したシロバナタンポポを想起させる。シロバナタンポポは単為生殖に向かう過程で花弁の色が変化したという説があるが、ノゲシではどうなのか。キク科の黄色い花は白い花弁に向かっているのだろうか?今後の観察が必要だ。これは、以前の「作物の花弁の脱色」の記事と関連づけて、新たな環境指標になる可能性も秘めている。

 

セイヨウタンポポが蔓延る草むらでシロバナタンポポを見かけた

/** Geminiが自動生成した概要 **/
毎日散歩する道端に、突如シロバナタンポポが三株現れ、筆者はその由来に興味を抱いた。シロバナタンポポは在来種のカンサイタンポポを親に持つ雑種で、白い花弁は花弁が脱色して透明になった状態である。 シロバナタンポポは、他の在来種と異なり単為生殖を行う。これは花粉による受粉を必要とせず繁殖できるため、繁殖力が旺盛である。 外来種のセイヨウタンポポが蔓延る中で、シロバナタンポポは単為生殖によって個体数を増やした可能性があり、興味深い事例と言える。

 

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

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

 

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

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

 

様々な生物たちのβ-グルカン

/** Geminiが自動生成した概要 **/
フルクトースは、果物や蜂蜜に多く含まれる単糖の一種で、別名果糖とも呼ばれます。グルコース(ブドウ糖)と同じ化学式を持つ異性体ですが、構造が異なり、甘みが強いのが特徴です。ショ糖(砂糖)は、グルコースとフルクトースが結合した二糖類です。 フルクトースは、小腸で吸収され、肝臓で代謝されます。代謝の過程で中性脂肪に変換されやすく、過剰摂取は肥満やメタボリックシンドロームのリスクを高める可能性があります。また、フルクトースはグルコースと異なり、インスリン分泌を刺激しないため、血糖値を急激に上昇させることはありませんが、長期的な摂取はインスリン抵抗性を高め、糖尿病のリスクを高める可能性も指摘されています。 そのため、果物や蜂蜜などの天然のフルクトースは適量を摂取することが推奨されます。

 

黒糖とショ糖再び

/** Geminiが自動生成した概要 **/
植物は、虫に食われたり、傷つけられたりすると、グルタミン酸を使ってその情報を全身に伝達する。グルタミン酸は動物の神経伝達物質としても知られるが、植物においても防御システムの活性化に重要な役割を果たす。 具体的には、傷ついた葉でグルタミン酸の濃度が急上昇すると、カルシウムイオンが細胞内へ流入し、電気信号が発生する。この電気信号が他の葉に伝わり、防御関連遺伝子の発現を促すことで、植物全体が防御態勢に入る。 この仕組みは動物の神経系に類似しており、植物にも動物のような高度な情報伝達システムが存在することを示唆している。この発見は、植物のストレス応答の理解を深め、農業や園芸への応用が期待される。

 

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

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

 

SOY CMSで記事一覧選択表示ブロックプラグインを作成しました

/** Geminiが自動生成した概要 **/
SOY CMSの記事一覧表示を自由にカスタマイズできる「記事一覧選択表示ブロックプラグイン」の紹介です。 通常の記事一覧ブロックはカテゴリーや検索結果に基づいて表示されますが、このプラグインでは記事ごとにチェックボックスで表示/非表示を選択可能。 記事編集画面にチェックボックスが追加され、チェックを入れた記事のみがブロックに表示されます。 これにより、ラベルに関係なく任意の記事をピックアップした一覧を作成できます。ブロックの設定方法の詳細はプラグイン詳細画面に記載。プラグインを含むパッケージはsaitodev.co/soycms/からダウンロード可能です。

 

糸島の志摩で海鮮丼を食べた

/** Geminiが自動生成した概要 **/
糸島で食べた海鮮丼に載っていた紅藻フノリは、糸島近海の姫島産で栄養豊富。紅藻は浅い潮間帯上部に生息する。フノリには酸性多糖類フノランが含まれ、高血圧抑制、コレステロール低減、歯のプラーク形成阻害、再石灰化促進作用などの機能性が注目されている。これらの効果からガムにも利用される。フノランの抽出には課題があるものの、解決策を示した論文も存在する。

 

ブロッコリの根に秘めたる可能性

/** Geminiが自動生成した概要 **/
ブロッコリの根に秘められた抗がん作用の可能性について紹介する記事です。ブロッコリの各部位から抽出した成分の乳がん細胞抑制効果を調べたところ、花蕾ではなく根に最も高い効果が見られました。根にはビタミンC、ビタミンU、ポリフェノールなどの既知の栄養素は少ないにも関わらず、強い抑制効果を示したことから、未知の成分の存在が示唆されます。また、ビタミンUは胃粘膜の修復に関与し、植物では耐塩性獲得に関係している可能性が示唆されています。ブロッコリには、まだまだ知られていない健康効果が秘められていると考えられます。

 

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

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

 

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

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

 

高野川が紅に染まりはじめる

/** Geminiが自動生成した概要 **/
高野川の桜並木の紅葉が始まり、鮮やかな紅色に染まり始めた。急激な冷え込みが紅葉を促進したようだ。京都府立植物園園長も今年の紅葉は鮮やかだと予想している。色づいた葉とそうでない葉の対比が紅を際立たせている。紅葉は落葉前にアントシアニンが合成されることで生じるが、葉によって色づく順番があるのか疑問が湧く。鳥に目立つ順に色づくという仮説も、今の時期には種がないため当てはまらない。改めて観察し、考察を深めたい。

 

葉の下でクズの花が咲いている

/** Geminiが自動生成した概要 **/
クズの花を初めて見つけた。秋の七草の一つであるクズは、河川敷にはびこり、つる先に近い場所で開花する。葉の下に隠れるように咲くため、見つけるのは容易ではない。今回も見つけた花はまだ満開ではなく、他の植物に絡みついて高所に咲く場合を除き、目立たない場所に咲いていた。マメ科特有の形をした花には大きなアリが群がっていた。満開の時期になったら、またクズの花を探しに行こうと思う。

 

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

/** Geminiが自動生成した概要 **/
SOY CMS 3.0.0とSOY Shop 1.18.0が公開され、筆者がコードを検証しました。SOY ShopがPHP7に対応し、データベースに変更がない点は評価されるものの、懸念点が複数指摘されています。フォーラムで要望の多かったブログ記事の自動保存や総当たり攻撃対策、標準プラグインの機能追加(検索フォームなど)、SOY Shopの外税計算修正は未実装です。さらに、jQuery読み込み最適化により、既存のjQuery利用プラグインの大半が動作不能になっているため、バージョンアップの際は特にjQuery関連の動作確認を十分に行うよう強く推奨されています。

 

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

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

 

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

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

 

SOY CMSで標準ページでも任意のブログページのb_blockを使用できるようにした

/** Geminiが自動生成した概要 **/
SOY CMSの標準ページでブログページのサイドバー(b_block)を使えるようにするモジュールを追加しました。標準では検索結果ページなどでb_blockが使えず、不便でした。このモジュールは `<!-- cms:module="common.blogparts" cms:blog="ブログID" -->` で囲むだけで、指定ブログのb_blockが使用可能になります。ブログIDはブログ詳細画面のURL末尾から取得します。カテゴリ一覧、月別アーカイブ、最近の記事/コメント/トラックバック一覧などに対応。Gravatar連携は別プラグイン推奨。パッケージはsaitodev.co/soycms/からダウンロード可能です。

 

カスタムサーチフィールドの並び替えを検索結果ページでも利用できるように改修した

/** Geminiが自動生成した概要 **/
カスタムサーチフィールド機能を拡張し、検索結果ページでも並び替えが可能になりました。これにより、ユーザーはカスタムフィールドの値に基づいて検索結果をソートできるようになります。 この機能は、カスタムサーチフィールドで追加する項目でソート検索を追加し、検索結果ページに並び替えボタンを設置できるようになります。 この機能の追加により、ユーザーは検索結果をさらに柔軟に絞り込むことができ、必要な情報をより容易に見つけることができます。

 

SOY Shopの商品情報の出力時にカテゴリのリンクを追加しました

/** Geminiが自動生成した概要 **/
SOY Shopの商品情報出力にカテゴリリンクを追加しました。商品一覧と商品詳細ブロック内でカテゴリへのリンクを出力するタグが利用可能になります。商品グループの場合は、親商品名、詳細ページリンク、カテゴリ名とリンクも出力可能です。 また、商品一覧と検索結果ページのデータベース読み込み回数を最適化し、表示速度を向上させました。特に商品数が多いサイトで効果的です。更新版パッケージはsaitodev.co/soycms/soyshop/からダウンロード可能です。追加タグの詳細は同サイトのブロックタグページに記載されています。

 

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

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

 

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

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

 

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

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

 

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

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

 

SOY CMSのサイトでPageSpeed Insightsのスコアが99になりました

/** Geminiが自動生成した概要 **/
SOY CMSサイトのPageSpeed Insightsスコアを99にするため、静的化プラグインを開発。標準ページをHTMLファイル化し、システムを経由せず直接読み込むことで高速化を実現。記事更新時はindex.html、ページ更新時は該当HTMLを削除し、即時反映を維持。DB接続回数を減らしサーバー負荷も軽減。内部SEO対策にも有効。プラグインはフォーラムで配布中だが、Google Analytics設置に関する提案への対応は未解決。

 

SOY CMSのブロックで記事のランダム表示

/** Geminiが自動生成した概要 **/
SOY CMSのブロックで記事をランダム表示するスクリプトモジュールブロックのコードが紹介されています。指定したラベルの記事をランダムに並び替え、指定件数分出力します。 `/site(サイトID)/script/soycms_random.php` にPHPコードを記述し、テンプレートで `cms:label` にラベルID、`cms:count` に取得件数を指定することで利用できます。コードはフォーラムにもアップロードされています。記事の取得件数を指定しない場合は、該当ラベルのすべての記事を取得しランダムに表示します。

 

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

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

 

検索フォームと検索結果ページを作ってみた3

/** Geminiが自動生成した概要 **/
SOY CMSで検索機能を実装する方法を解説。`/site(サイトID)/script/soycms_search.php`に検索スクリプトを記述。SQLで記事タイトル、本文、追記フィールドを検索し、公開期間内の記事を抽出。結果はEntryオブジェクトに変換後、配列`$soycms_search_result`に格納。テンプレートには`<form method="get" action="/search">`で検索フォームを設置し、クエリパラメータ`q`で検索文字列を受け取るようにする。`$dao->getObject($row)`で検索結果をEntryオブジェクトに変換することで、テンプレートに記述した`<!-- block:id="result" -->`で表示可能になる。

 

検索フォームと検索結果ページを作ってみた2

/** Geminiが自動生成した概要 **/
記事「検索フォームと検索結果ページを作ってみた3」では、検索結果ページに記事一覧を表示する具体的な実装方法を解説しています。 前記事で準備した`entry_search`関数に検索ロジックを記述します。まず、`soycms_search.php`にデータベースへの接続設定を追加し、クエリ文字列から検索キーワードを取得します。取得したキーワードを元にデータベースを検索し、結果を配列に格納します。 記事一覧の表示には、取得した配列をループ処理で展開し、各記事のタイトルとURLを表示します。記事タイトルはリンクとして設定し、クリックすると詳細ページへ遷移するようにします。また、検索結果が0件の場合には「該当する記事は見つかりませんでした」と表示する処理も追加します。 これらの処理により、ユーザーが入力したキーワードに合致する記事一覧が検索結果ページに表示されるようになります。

 

検索フォームと検索結果ページを作ってみた1

/** Geminiが自動生成した概要 **/
スクリプトモジュールブロックを使用して記事検索機能をSOY CMSに追加する方法について説明しています。まず、user.config.phpでスクリプトモジュールを許可し、次にブロックタイプリストにScriptModuleBlockComponentを追加します。記事中の特定の文字列を検索したり、記事をグループ化したりできるようになります。このモジュールを使用することにより、ブログに検索機能を追加し、ユーザーが記事をより簡単に検索できるようにすることができます。

 

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

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

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

Powered by SOY CMS   ↑トップへ