ブログ内検索

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

酢酸で10円硬貨をピカピカにしたい

/** Geminiが自動生成した概要 **/
銅などの金属は酸と反応して溶ける。この反応では、金属の表面の金属イオンが溶液中の酸と反応して、金属イオンの水和物(水に囲まれたイオン)となり、溶液中に放出される。一方、酸は水素イオンを失い、溶液中の水和水素イオンとなる。金属イオンと水和水素イオンが反応して、水素ガスを発生させる。この反応は、金属の表面に凸凹を作ったり、穴を開けたりするため、金属を溶かす。また、酸が濃ければ金属が溶ける速度も速くなる。

 

イネの出穂と開花

/** Geminiが自動生成した概要 **/
田んぼのイネが出穂し、雄蕊が出て開花期を迎えたという内容です。筆者は、毎年見られる風景ながらもその変化を喜び、高温による影響は見られないとしながらも、今後の台風シーズンを懸念しています。イネの開花時期や形状に関する記述からは、筆者の観察眼と稲作への関心の高さが伺えます。

 

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

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

 

植物性の食品に多く含まれる非ヘム鉄はどんな形?

/** Geminiが自動生成した概要 **/
植物性食品に多い非ヘム鉄は、主に鉄硫黄タンパクという形で存在します。これは光合成で重要な役割を果たすタンパク質で、鉄と硫黄(システイン由来)から構成されています。鉄硫黄タンパクは電子伝達体として機能し、光合成過程で水から得られた電子を他の器官に運搬します。非ヘム鉄はヘム鉄に比べて吸収率が低いですが、ビタミンCなどの還元剤と共に摂取することで吸収が促進されます。

 

タンポポは強い

/** Geminiが自動生成した概要 **/
タンポポ亜科は、キク科に属する分類群の一つで、世界中に広く分布し、約80属2,000種以上を含む大きなグループです。タンポポやノゲシ、アキノノゲシなどが含まれます。タンポポ亜科の特徴として、すべてが頭状花序を持ち、花弁が合着して舌状になっていることが挙げられます。多くの種が、風によって種子を dispersal するための冠毛を持っています。タンポポ亜科は比較的新しい時代に進化したグループと考えられており、その進化には倍数体化が重要な役割を果たしたとされています。

 

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

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

 

昨日は節分だったので歳の数以上のマメを食べた

/** Geminiが自動生成した概要 **/
免疫の向上には、腸内環境の改善が重要であり、オリゴ糖と発酵食品がその鍵となる。オリゴ糖は、善玉菌のエサとなり、腸内フローラのバランスを整える。特にビフィズス菌を増やすことで、免疫細胞の活性化や抗体産生が促進される。発酵食品も同様に、善玉菌を増加させ、腸内環境を改善する。ヨーグルト、納豆、味噌などの発酵食品は、乳酸菌や納豆菌などのプロバイオティクスを含み、直接的に腸内フローラに作用する。さらに、発酵過程で生成されるビタミンやミネラルも免疫機能に寄与する。これらの食品を摂取することで、免疫力を高め、感染症予防や健康維持に繋がる。

 

様々な依頼からこれからの働き方を見た

/** Geminiが自動生成した概要 **/
新型コロナの影響で事業への影響を覚悟していた筆者は、逆に変化を見越した企業からのWeb開発依頼が殺到した。 非接触型の予約注文システムや、代理販売・寄付サイトなど、コロナ禍のニーズに応える開発が多かった。 また、SEO対策情報の需要も高まった。 特に印象的だったのは、テレワーク向け研修システムの開発だ。 音声チャットとWebアプリを組み合わせたボードゲーム形式で、セールスの模擬体験を行うもので、オフライン研修以上の価値を感じたという。 コロナ禍でWeb技術の活用が模索された一年であり、この流れは今後も加速し、Web技術を活用できない企業は淘汰されるだろうと予測している。

 

【SEO対策】Core Web Vitals

/** Geminiが自動生成した概要 **/
Google Analyticsのスクリプトをページ読み込み直後に移動することで、Core Web Vitals、特にFID(First Input Delay)を改善する方法を解説しています。通常、Google Analyticsのスクリプトは</body>直前に配置されますが、これだとスクリプトのダウンロードと実行が完了するまでブラウザが他の操作を受け付けず、FIDが悪化します。記事では、async属性を追加し<head>内に移動することで、スクリプトを非同期で読み込み、ブラウザのレンダリングを妨げないようにする方法を紹介。async属性はIEでは機能しないため、IE用に条件分岐で対応する必要性も説明しています。さらに、Google Tag Managerを使用している場合は、設定変更だけで対応可能であることも解説しています。これらの修正により、FIDが大幅に改善され、ユーザーエクスペリエンスの向上が期待できます。

 

SOY CMSの静的化プラグインで高速化

/** Geminiが自動生成した概要 **/
SOY CMSの静的化プラグインが改良され、ページ単位での静的化設定、全プラグイン実行後の静的化処理、ページ更新時の静的ファイル一括削除、サイトキャッシュ削除時の静的ファイル削除が可能になった。従来の静的化はフロントコントローラやRewriteモジュールの処理を回避することで高速化を実現していたが、今回の改良でさらに柔軟性と効率性が高まった。HTMLキャッシュプラグインと併用することで、標準ページは静的化、ブログページはHTMLキャッシュと使い分け、サーバー負荷軽減に効果的。改良版はsaitodev.coからダウンロード可能。高速化に加え、SEO対策にも有効。

 

SOY CMSのHTMLキャッシュプラグインで高速化

/** Geminiが自動生成した概要 **/
SOY CMSのHTMLキャッシュプラグインは、サイト高速化を実現する強力なツールです。従来の静的化プラグインの欠点を克服し、標準ページを含む全ページをキャッシュ対象としつつ、ページごとにキャッシュの有効/無効を設定できる柔軟性を備えています。これにより、SOY Shop連携など動的なコンテンツを含むページでも最適なパフォーマンスを実現できます。HTMLキャッシュは、PageSpeed Insightsのスコア向上に貢献するだけでなく、メディア露出時の急激なアクセス増加にも対応できる安定性を提供します。内部SEO対策としても有効で、情熱大陸放送後のアクセス集中を乗り切った事例からもその効果が実証されています。パッケージはsaitodev.coからダウンロード可能です。SEO対策に関する詳細はsaitodev.co/category/SEOをご覧ください。

 

食の知見から秀品率の向上へ

/** Geminiが自動生成した概要 **/
牛糞堆肥による土作りを推奨する人物の専門知識を検証する記事。牛糞堆肥は土壌改良に有効だが、窒素過多や未熟堆肥による病害リスクも伴う。記事では、推奨者がこれらのリスクを認識し、適切な管理方法を提示しているかを重視。窒素過多への対策、堆肥の熟度管理、施用量・時期の調整、土壌分析に基づいた施肥設計など、具体的な説明がない場合、推奨者の専門性は疑わしいと結論づけている。真の専門家は、堆肥利用のメリットだけでなく、デメリットやリスク管理にも精通している必要があると主張している。

 

パン作りのアルコール発酵

/** Geminiが自動生成した概要 **/
パンは、強力粉、イースト菌(酵母、乳酸菌、コウジカビ等を含む)、砂糖、塩、水から作られる。イースト菌によるアルコール発酵で、ブドウ糖からアルコールと二酸化炭素が発生し、この二酸化炭素がパンを膨らませる。焼成時にアルコールは揮発するが、一部残存する場合もある。パンのカビやすさは、栄養豊富で水分を含むため。イースト菌はアルコール発酵以外にも、パンの栄養価や香りに繋がる様々な発酵を行うと考えられる。パン作りは土壌理解にも役立つ知見を含んでいる。

 

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

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

 

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

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

 

家畜糞堆肥による土作りを止める勇気を

/** Geminiが自動生成した概要 **/
家畜糞堆肥の過剰施用は、秀品率低下や農薬使用量増加につながり、結果的に肥料代削減効果を上回る損失をもたらす。多くの農家が家畜糞堆肥を多用し、土壌劣化を引き起こしている。硝酸態窒素過剰は土壌pHを低下させ、カリウム欠乏、根の弱化、肥料吸収阻害を招く。さらに、硝酸態窒素は発根を阻害し、土壌水分や肥料分の吸収量を低下させる。結果として、微量要素の吸収阻害による作物栄養価の低下も懸念される。家畜糞堆肥は有機質肥料と誤解されがちだが、過剰施用は土壌環境悪化の大きな要因となる。家畜糞の増加は深刻な問題であり、栽培と畜産が連携し、食と健康を見直す必要がある。牛乳は栄養価が高いが、その副産物である家畜糞の処理は適切に行われなければならない。医療費増加抑制のためにも、家畜糞堆肥の施用量を見直すべきである。

 

栽培の中心にはいつも化学

/** Geminiが自動生成した概要 **/
著者は10数年前、京丹後で栽培を学び、師と共に米ぬかボカシから化学を体系化。その後、京都農販と出会い慣行栽培の化学も探求した。各地での講演を通じ、不利な土地での技術洗練や、知識を貪欲に吸収・活用する農家の強さを実感。自身の経験を通し、栽培技術向上の中心には常に化学があったと振り返る。

 

抗ガン剤としてのサナギタケのコルジセピン

/** Geminiが自動生成した概要 **/
サナギタケ由来の物質コルジセピンは、抗腫瘍効果を持つ。コルジセピンはアデノシンと構造が酷似しており、ガン細胞のDNA複製時にアデノシンの代わりに取り込まれる。しかし、コルジセピンはアデノシンとは異なり3'位にヒドロキシ基を持たないため、DNAの二重螺旋構造が不安定化し、ガン細胞の増殖が抑制される。興味深いことに、コルジセピンは正常細胞や有益な微生物には影響を与えない選択的増殖抑制作用を示す。これは、昆虫に寄生するサナギタケが、宿主の防御反応に対抗するために産生した物質であるコルジセピンが、昆虫の細胞増殖のみを阻害するよう進化したためと考えられる。実際に、昆虫に感染したサナギタケの子実体の方が、人工培養されたものよりもコルジセピンを高濃度で含む。

 

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

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

 

サナギタケの人工培養について知りたい

/** Geminiが自動生成した概要 **/
ヨトウガ対策としてサナギタケの活用を検討する筆者は、サナギタケの培養方法を調べた。専門書によると、培養法は昆虫生体培養、個体培地栽培、液体培地発酵の三種類。中でも個体培地栽培では、穀物などを培地として子実体を収穫し、液体培地発酵では、化学薬品を用いて菌糸体を収穫する。重要なのは、サナギタケの菌糸が生きた昆虫を必要とせず、穀物や糖質があれば増殖できること。落ち葉に胞子がいるという既存情報と合わせ、畑に落ち葉とデンプン質などを供給すれば、サナギタケの菌糸が増殖する可能性があると考え、次は培養条件の把握に進む。

 

SQLiteのALTER文で新たなフィールドを追加してみる

/** Geminiが自動生成した概要 **/
SQLiteのALTER文を使って既存のusersテーブルにcategoryフィールドを追加し、外部キー制約でcategoryテーブルと紐づけました。usersテーブルにはid、name、fname、genderに加え、categoryテーブルのidを示すcategoryフィールドが追加されました。その後、UPDATE文で各ユーザーにcategoryを割り当て、SELECT文とWHERE句で特定のcategoryを持つユーザーを抽出しました。さらに、INNER JOINを用いてusersテーブルとcategoryテーブルを結合し、category名で検索する方法も示しました。最終的に'tanpopo'に属するユーザーの情報が抽出されました。

 

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

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

 

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"」を使用します。 このモジュールにより、標準ページから他のブログページのカテゴリ一覧にアクセスし、各ブログのカテゴリページに移動できるようになります。

 

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

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

 

Ryzen搭載のノートパソコンにUbuntuのインストールで苦戦した

/** Geminiが自動生成した概要 **/
Ryzen 5 2500U APU搭載のノートPCにUbuntuをインストールすると、フリーズが発生し失敗した。翌朝、研究すると、Ryzen APUにはLinuxカーネル4.15のAMD GPUドライバーが必要であることが判明。Ubuntu 18.04のβ版イメージを作成し、UEFIから起動させるとインストールが成功した。現在は問題なく動作するが、正式版がリリースされる4月末までは仕事を保留する。

 

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

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

 

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

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

 

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

開発元を退職した私がSOY CMSを開発し続けている訳

/** Geminiが自動生成した概要 **/
筆者はSOY CMSの開発元を退職後も、個人で開発を継続している。理由は、開発元代表の行動(SNSでの女装写真連投)と農業事業への注力により、開発が停滞し、経験豊富な開発メンバーが離脱したため。退職後、ユーザーの声を直接聞き、SOY CMSの価値を再認識し、開発継続を決意。公式フォーラムへの修正報告は反映されず、個人でパッケージを配布。開発元の事業不振を憂慮し、リポジトリの公開を提案。利用者がいれば開発を続けると宣言している。

 

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

/** Geminiが自動生成した概要 **/
SOY CMS/Shopのブロックで、リストの最初と最後で表示を変える方法を紹介。`soy:id="at_last"`と`soy:id="not_last"`を使えば、最後の要素だけ、または最後以外の要素だけに特定のHTMLを出力できる。例えば、記事一覧で最後の記事の下にだけ太線を表示するといったことが可能。 さらに、`soy:id="at_first"`と`soy:id="not_first"`と組み合わせることで、より複雑な表示制御が可能になる。例えば、カテゴリ一覧で最初の要素にのみカテゴリタイトルと`<ol>`タグを出力し、最後の要素にのみ`</ol>`タグを出力することで、無駄なHTMLを出力せずに済む。

 

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 CMSのブロックで記事のランダム表示

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

 

肥料分としての窒素の吸収形態

/** Geminiが自動生成した概要 **/
肥料の窒素は、植物によって吸収される形態が異なります。畑の作物は主に硝酸イオン(NO₃⁻)の形で窒素を吸収します。土壌中のアンモニウムイオン(NH₄⁺)は、微生物による硝化作用で硝酸イオンに変換されます。しかし、嫌気条件下では脱窒が起こり、窒素ガスが発生したり、亜硝酸がアンモニアに還元されます。一方、水田の稲はアンモニウムイオンの形で窒素を吸収します。近年、畑作物もペプチドやアミノ酸などの有機態窒素を吸収できることがわかってきました。大豆油粕や魚粕などは、こうした有機態窒素を含んでいます。

 

土壌分析アプリsoil2 by Go

/** Geminiが自動生成した概要 **/
Go言語で開発された土壌分析Webアプリ「soil2」の紹介。 入力された土壌分析値をグラフ化し、将来的にはサードパーティアプリとの連携も視野に入れている。Go言語採用理由は、コンパイル言語のためサーバー環境によるコード変更の手間を省き、処理速度の向上も見込めるため。REST APIと管理者機能を実装し、グラフ表示にはChart.jsを使用。当初は身内向け公開予定だったが、最終的にはSOY Shopのマイページ機能に統合された。

 

土壌分析で施肥の癖を知る

/** Geminiが自動生成した概要 **/
土壌分析は、畑全体の状況把握には費用対効果が低いと思われていたが、生育が悪かった箇所の土壌を分析することで、栽培者の施肥設計の癖を把握できる。土壌の良さは、各要素の量の多さではなく、バラつきの少なさで決まるため、生育の悪い箇所のデータから、無意識に投入しすぎている要素を特定できる。つまり、土壌の状態だけでなく、施肥の癖を知るために、バラつきのあるデータでも有効活用できる。

 

SOY CMSのカテゴリページでカテゴリごとに画像の出し分けを行う

/** Geminiが自動生成した概要 **/
SOY CMSのブログカテゴリページで、カテゴリごとに画像や文章を出し分ける方法を紹介します。各カテゴリページに異なるコンテンツを表示するには、モジュール機能を活用します。モジュール内にPHPコードを記述し、`$htmlObj->mode == "_category_"`でカテゴリページかどうかを判断、`$htmlObj->label->getCaption()`で現在のカテゴリ名を取得します。switch文でカテゴリ名ごとにcaseを追加し、それぞれに表示したいHTMLをechoで出力します。モジュールタグ(`<!-- cms:module="モジュール名" -->`)をテンプレートに挿入すれば完了です。HTMLコメントタグで記述されるため、テンプレートをPHPで汚染しません。

 

SOY Shopで商品詳細ページの下に同じカテゴリの商品一覧を表示する

/** Geminiが自動生成した概要 **/
SOY Shopの商品詳細ページ下部に、同カテゴリ商品一覧を表示する方法を解説。 パーツモジュールを追加し、IDを「parts.item_list」、モジュール名を「商品一覧モジュール」とする。 モジュール内では、商品詳細ページの場合のみ、表示商品のカテゴリIDを取得し、DAOで同カテゴリの公開商品を取得、`SOYShop_ItemListComponent`を用いて商品一覧ブロックを生成する。 商品詳細テンプレートに`shop:module="parts.item_list"`を記述し、内部に`block:id="item_list_by_detail"`と商品表示用のcms:idを記述することで、一覧表示を実現する。 カート追加機能も確認済。 パーツモジュールを活用すれば、簡単なプラグイン機能を開発可能。

 

運営しているサイトがSOY CMSであるか調べてみる

/** Geminiが自動生成した概要 **/
SOY CMSで構築されたサイトを特定する方法を紹介。HTML出力のためソースコードからは判別不可。特有のNot Foundページ(/jfoewajfoiwaejflaleiofjwaefwaeのような無意味な文字列へのアクセス)の存在が手がかりとなる。また、ブログ記事URL(/article/記事タイトル)、月別(/month/YYYY/MM)、カテゴリ(/category/カテゴリ名)ページのURL構造も参考になる。その他、問い合わせフォームページのソースに"SOY_Inquiry"や"soy2_token"の文字列があれば、SOY CMSの可能性が高まる。

 

京都市内で起こったすごいこと

/** Geminiが自動生成した概要 **/
京都農販がウェブサイト公開を記念し、黒腐菌核病への画期的な取り組みを公開した。決定的な対処法がないこの病気に対し、土壌のpHを上げることで感染拡大を抑えるという仮説を立て、肥料選定が課題となった。消石灰は弊害が多いため却下され、著者の提案した炭酸苦土も採用されなかった。最終的に選ばれた重炭酸カリ(サンパワーカリ)の選定理由は京都農販の今後の発表に委ねられる。この事例は、施肥の組み合わせ次第で予想外の成果が得られる可能性を示唆しており、農業における更なるイノベーションへの期待を高めている。著者は現場で活躍する人々への支援を表明している。

 

パーツモジュールでカノニカルタグを作ってみた

/** Geminiが自動生成した概要 **/
SEO対策のカノニカルタグを、ページ毎に挿入する手間を省くため、パーツモジュールで自動生成する仕組みを作成した。 ブログページとそれ以外のページで処理を分け、ブログページでは記事、カテゴリ、月別アーカイブそれぞれのモードに応じてURLを生成。HTMLテンプレートに`<link rel="canonical" href="生成したURL">`を出力することで、どのページでも正しいカノニカルタグが自動で挿入されるようになった。 実際にカテゴリページで確認した結果、期待通りのURLが出力され、今後の作業効率化に繋がることが期待される。

 

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

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


Powered by SOY CMS   ↑トップへ