ブログ内検索

プログラミング教材開発
大阪府高槻市原地区で肥料教室を開いています
 

PHPExcelを使ってみた2 ファイルアップロード編

/** Geminiが自動生成した概要 **/
PHPExcelライブラリを用いたExcelファイル読み込み処理にファイルアップロード機能を追加。$_FILESを利用し、アップロードされたExcelファイル(xls/xlsx)を動的に読み込むよう改修。 フォーム経由でファイルを選択・アップロードすると、セル内の値が表示される。主な変更点は、ファイルアップロードをトリガーとする条件分岐の追加、ファイルパスと拡張子の取得方法の変更、HTMLフォームの追加。これにより、任意のExcelファイルの内容を表示できるようになった。

 

SOY CMS1.8.14分の差分をマージしました

/** Geminiが自動生成した概要 **/
開発元退職後もSOY CMS開発を続ける筆者は、顧客からの要望とOSSへの貢献を動機としています。退職前は開発に携われなかったものの、現在は時間的制約がなくなり、積極的に取り組んでいます。PHP7対応など、公式版では対応が遅れている部分も独自に対応することで、顧客のニーズに応え、より良いCMSの提供を目指しています。また、オープンソース化によってコミュニティへの貢献も実現し、開発の喜びを感じています。将来的には公式版への還元も視野に入れ、SOY CMSの発展に尽力していく姿勢を示しています。

 

お花の通販 Beans様サイトの常時SSL化対応を行いました

/** Geminiが自動生成した概要 **/
SOY CMSの常時SSL化対応では、主に.htaccessとデータベース、テーマファイルの修正が必要です。.htaccessでは、HTTPアクセスをHTTPSへリダイレクトするよう設定を追加します。データベースでは、サイトURLやブログURLなど、URLがハードコードされている箇所をHTTPSに変更します。テーマファイルでは、画像やCSS、JavaScriptなどのパスが相対パスになっている場合、URLの先頭に「.」が付いていると正しく表示されないため、絶対パスに書き換えるか「.」を削除する必要があります。 また、記事本文中のURLも修正が必要な場合があります。 これらの修正により、サイト全体をHTTPSでアクセス可能にし、セキュリティを向上させます。 加えて、Google検索のランキング向上にも繋がります。

 

レクサーニタイヤ様サイトの常時SSL化対応を行いました

/** Geminiが自動生成した概要 **/
SOY CMSの常時SSL化対応では、主に.htaccessの設定変更、サイト内リンクの修正、外部サービス連携の見直しが必要となります。.htaccessでは、HTTPアクセスをHTTPSへリダイレクトするよう設定を追加します。サイト内リンクは、相対パスを絶対パスへ変更するか、プロトコル相対パスを利用することで、混在コンテンツの発生を防ぎます。外部サービス連携では、APIのURLや埋め込みコードのプロトコルをHTTPSに変更する必要があります。 また、画像やJavaScriptなどの静的コンテンツもHTTPSで配信されるよう確認が必要です。その他、管理画面の設定変更やプラグインの対応状況確認、検索エンジンのインデックス登録更新なども行うことで、安全なサイト運営を実現できます。

 

Tisza Cipo様サイトの常時SSL化対応を行いました

/** Geminiが自動生成した概要 **/
SOY CMSの常時SSL化対応では、主に.htaccessでのリダイレクト設定、管理画面やメールテンプレート内のURLの修正、サイトマップの再生成、そして画像やCSS、JavaScriptファイルのURLの絶対パス化またはhttps化が必要となります。 .htaccessの設定ミスはサイト全体に影響するため慎重な確認が必須です。 また、記事本文やカスタムフィールド内のURLも手動で修正が必要な場合があります。 画像URLの修正漏れは、混在コンテンツとなり警告表示の原因となるため、サイト全体をくまなくチェックすることが重要です。 さらに、外部サービスを利用している場合は、APIのURLなどもSSL化に対応しているか確認が必要です。 これらの作業を確実に行うことで、安全なウェブサイトの運営が可能になります。

 

タンポポのタネの飛散の季節です

/** Geminiが自動生成した概要 **/
タンポポの種子の綿毛は球状に密集しているが、風に吹かれるとそれぞれが飛散する。その際、種子の元の位置によって飛散距離に違いが生じるのか疑問に思った。例えば、球の上部に位置する種子は遠くへ、下部の種子は近くに落ちるといった具合に。キク科の他種には球状にならないものもあるため、タンポポの種の飛散の様子を観察してこの疑問が浮かんだ。

 

PHPExcelを使ってみた

/** Geminiが自動生成した概要 **/
PHPExcelライブラリを使ってExcelファイルからデータ抽出する方法を紹介。Ubuntu 17.04、PHP 7.1.5環境で、php7.1-xml、php7.1-gd、php7.1-zipをインストール後、PHPExcelをダウンロード。サンプルxlsファイルからデータを読み込むPHPコードを掲載し、セル番号と値を出力する例を示している。コードは拡張子による読み込み方法の切り替え、複数シートへの対応、行とセルのイテレータによる値の取得を実装。出力結果の画像も掲載。

 

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

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

 

カタバミの葉にはシュウ酸

/** Geminiが自動生成した概要 **/
線路沿いの除草された過酷な環境で繁茂するカタバミに注目した。カタバミの葉にはシュウ酸が多く含まれることを植物図鑑で知り、印象に残っていたからだ。カタバミは酢漿とも書き、五代家紋の一つにもなっている。シュウ酸は土壌改良に有効である可能性があり、線路沿いで繁茂するカタバミの強さと相まって、土壌への影響が大きいのではないかと考えた。夏草が現れる前の5月という季節、カタバミのシュウ酸が土壌にどう作用するのか興味深い。ただし、葉のシュウ酸が根の周囲にも存在するかは不明である。

 

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

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

 

火山灰土壌は栽培しやすいというイメージ

/** Geminiが自動生成した概要 **/
火山灰土壌はミネラル豊富で水はけも良く、栽培しやすいイメージがあるが、地域差が大きく、桜島のような恵まれた土壌は例外。二酸化ケイ素の含有量で土壌の性質は変わり、栽培の容易さも異なる。火山灰だけでなく、近隣の山の母岩も土壌に影響を与える。特定の地域で成功した栽培法が、他地域で再現困難な場合もある。真の実力者は、困難な環境でも成果を出せる人である。

 

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

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

 

栽培開始前に土壌に十分量の鉄が入っているか?

/** Geminiが自動生成した概要 **/
ベントナイト系肥料に含まれる鉄分がネギ栽培に十分かどうかを検証した結果、十分量以上であることがわかった。ベントナイトに含まれる黄鉄鉱の鉄含有量を0.2%と仮定し、200kg/反を施用すると400gの鉄が供給される。一方、ネギ1本(150g)あたりの鉄分含有量は1.8mgなので、50,000本植えた場合の持ち出し量は90gとなる。つまり、ベントナイト中の鉄分だけでネギの鉄分要求量を十分に満たせる。ただし、鉄分豊富な母岩地帯では、川の水から供給される鉄分も考慮し、過剰症に注意が必要となる。

 

SOY ShopのカテゴリCSVでカテゴリ名の多言語化

/** Geminiが自動生成した概要 **/
SOY ShopのカテゴリCSVインポート/エクスポート機能が強化され、カテゴリ名の多言語化に対応しました。多言語サイトプラグインで設定した言語ごとにチェックボックスが追加され、商品名と同様にカテゴリ名も多言語管理が可能になりました。このアップデートにより、各言語への対応が容易になり、グローバルなECサイト運営が効率化されます。最新のパッケージはsaitodev.co/soycms/soyshop/ からダウンロード可能です。以前公開された商品名の多言語化やカテゴリカスタムフィールドへの対応と合わせて、CSVによる多言語対応がさらに充実しました。

 

タンポポの最初で最後の大きな旅の終焉

/** Geminiが自動生成した概要 **/
窓を開けて換気していたら、タンポポの種がパソコンの上に落ちてきた。春の訪れを感じながら、学生時代に学んだタンポポの種の飛散距離について思い出す。平均飛散距離は10メートルだが、平均値は外れ値の影響を受けやすく、実際にはもっと遠くまで飛ぶ種もある。もしかしたら、引っ越し業者の車に乗って遠くから来たのかもしれない、と想像を膨らませる。そして、このブログ記事が1000回目の投稿であることを記し、パソコンの上の種は土のある場所に移した。

 

九条ねぎの京都知七さんで連作障害の話をしました

/** Geminiが自動生成した概要 **/
京都知七の社内研修で、京都農販の技術顧問として作物の病気と連作障害についての講義を行いました。全3回の初回で、病気の完全排除は不可能ながらも、施肥設計の見直しや連作回避が感染率低下に繋がることを、感染経路を中心に解説しました。基肥を見直すことで感染率を抑制し、九条ねぎの秀品率向上に貢献できるよう、社員向けに研修を実施しました。

 

鉄玉子で鉄分補給

/** Geminiが自動生成した概要 **/
自宅にあった南部鉄の鉄玉子を使って鉄分補給を試みる。鉄玉子をやかんなどに入れて湯を沸かすことで、鉄分が溶け出し、飲料や食事から鉄分を摂取できる。これは、鉄鍋で調理すると鉄分が食材に溶け出すのと似ている。また、クエン酸で釘を溶かして鉄欠乏の作物に与える方法にも類似しているが、触媒を使う点が異なる。鉄玉子は妻の実家でもらってきたもので、肥料ではなく食生活での鉄分補給を目的とする。

 

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

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

 

頁岩由来の肥料の使いどころとは?

/** Geminiが自動生成した概要 **/
山の岩が土壌へと変化する過程は、風化と侵食という作用による。風化は、温度変化や水、生物の活動などによって岩が砕かれる現象である。これには、物理的な破砕だけでなく、化学的な分解も含まれる。侵食は、風や水、氷河などによって風化された岩片が運ばれる現象である。運ばれた岩片は堆積し、さらに風化や分解が進むことで、やがて土壌の母材となる。土壌生成には、母材に加えて、気候、生物活動、地形、時間といった要素が複雑に影響し合い、長い年月をかけて土壌は形成される。

 

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

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

 

山の岩が土になる

/** Geminiが自動生成した概要 **/
摂津峡の川の上流で、堆積岩の露頭を観察。風化しつつある岩肌を間近で見ることができ、岩が土へと変わる過程を実感した。この様子から、土質は母岩に由来することを再認識。山は加齢とともに地すべりが増加し平坦化していくが、風化で削られた表層の岩や vegetation が地すべりで崩落することで、山は徐々に細くなっていくのだろう。

 

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

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

 

高槻の摂津峡の行者岩

/** Geminiが自動生成した概要 **/
大阪・高槻市の摂津峡は、都会からすぐ近くにある渓谷。巨岩が点在する川沿いを進むと白滝があり、そこから急斜面を登ると行者岩と呼ばれる巨大な岩に辿り着く。この巨岩は、周囲が風化して露頭したと推測される。やがては風化が進み、川底の巨岩のように砕けていくのだろう。アクセスも容易な摂津峡は、自然のダイナミズムを感じられる場所だ。

 

探しやすい植物図鑑とは?

/** Geminiが自動生成した概要 **/
渓流沿いで見慣れない植物を見つけ、既存の図鑑では分からなかったが、成美堂出版の「里山さんぽ植物図鑑」で判明した。この図鑑は開花時期順に構成され、花の一覧ページがあるが、著者は葉や種子の形状など多角的な情報提供の重要性を指摘する。実際、水滴散布の種子からネコノメソウ属に辿り着き、詳細な解説を通して形態学的知識を得た。更なる調査でネコノメソウ属は変異が多く同定が難しいと判明したが、ユキノシタ科の植物への意識を高める良い機会となった。

 

BracketsのBeautifyでXMLファイルの自動整形を行わないようにする

/** Geminiが自動生成した概要 **/
BracketsのBeautifyによるXMLファイルの自動整形を無効化する方法について解説されています。SOY CMS/Shop開発において、build.xmlがBeautifyによって整形され、Antビルドでエラーが発生する問題が発生しました。解決策として、brackets.jsonに`"language":{"xml":{"bb.beautify.onSave":false}}`を追加し、XMLファイルの自動整形を無効化することで、Antビルドが正常に動作するようになりました。

 

SOY Shopの多言語プラグインでスペイン語設定を追加しました

/** Geminiが自動生成した概要 **/
SOY Shopが多言語プラグインでスペイン語に対応しました。設定を追加したことでスペイン語ページの生成が可能になりましたが、翻訳作業はまだです。多言語サイト機能により、スペイン語設定のブラウザでアクセスした場合は自動でスペイン語ページへリダイレクトされます。手動切り替えも可能です。パッケージはサイトからダウンロードできます。スペイン語に堪能な方で翻訳協力可能な方は問い合わせフォームから連絡ください。

 

石の上に(私にとって)見知らぬ植物

/** Geminiが自動生成した概要 **/
渓流沿いで見慣れない植物を見つけ、図鑑で調べようとしたが、葉や花か種か分からない部分が多く、特定できなかった。既存の図鑑では葉の形や開花時期からの絞り込みが難しく、生育型や葉序も判断できなかった。翌日、偶然立ち寄った書店で「里山さんぽ植物図鑑」を見つけ、即座に目的の植物を同定できた。図鑑の使いやすさについては後述。


Powered by SOY CMS  ↑トップへ