ブログ内検索
とにかく速いブログサイトを目指す

カテゴリー : SOY_CMS

SOY CMSマニュアルページ作成中

SOY CMSの開発秘話を投稿しました。→SOY CMSの開発秘話
 

SOY CMSのカノニカルURL挿入プラグインでshortlinkのメタタグを挿入するようにしました

表題の通り、SOY CMSのカノニカルURL挿入プラグインでshortlinkのメタタグを挿入するようにしました。SOY CMSでカノニカルURL挿入プラグインを作成しましたshortlinkとは何か?ですが、例えば、植物性の食品に多く含まれる非ヘム鉄はどんな形?の記事を表示する時、URLはhttps://saitodev.co/article/%E6%A4%8D%E7%89%A9%E6%80%A7%E3%81%AE%E9%A3%9F%E5%93%81%E3%81%A...

 

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

SOY Shopで注文手続き時のお客様情報の入力画面で、お届け先情報の項目の設定を行いたいという要望がありましたので対応しました。今回の変更点の詳細は商品をカートに入れた際に表示されるお客様情報の入力画面の下の方にあるお届け先情報で、ショップサイトの運営上、お名前、お名前カナとお電話番号が必ず一緒になるので、これらの項目は基本情報からコピーされるようにしたいというものでした。コピーでは紛らわしくなるので、管理画面で表示の出力と必須の...

 

SOY CMSでブログ記事JSON出力プラグインを作成しました

表題の通り、SOY CMSでブログ記事JSON出力プラグインを作成しました。非同期で記事一覧を表示したいという要望があり、解決するために軽量でサーバの負荷が少ないJSONを出力できるようにしています。他に、記事一覧出力時に任意の箇所から件数指定して、ページャのような機能もGETパラメータで簡単に出力できるようにしています。出力例を載せておくと、https://saitodev.co/2.json?limit=10&offset=0https://saitodev.co...

 

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

SOY Shopのユーザから下記の要望の連絡がありました。カートやマイページの顧客情報入力画面の住所の項目で、番地を必ず入力出来るようにしてほしい。本件を解決するために、住所項目設定プラグインを作成しました。住所項目設定プラグインで出来る事は、項目数の変更、項目名の変更と各項目をどれに必須にするか?で、町番地が一つの項目であれば、町名までを入力して、番地を入力しなくても手続きを進められてしまったが、町名と番地を分けてしまえば、番地も必須...

 

SOY Shopから自動で送信されるメールの件名が文字化けだった時の対応

SOY Shopを利用しているユーザから注文時に自動で送信されるメールの件名が突然文字化けになった。メールの送信にはsendmailを利用し、ドコモやauといった一部のキャリアで文字化けが発生していたらしい。Ubuntuにインストールしたsendmailの起動と送信が遅くて困った文字化けの原因を調査すると、$ sudo apt update$ sudo apt upgradeをした後だったので、PHPのsendmail当たりの設定が変わってしまったかもしれないが、これ...

 

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

SOY CMSで運営しているサイトの表示速度を向上させたいという依頼があったので、今まで温めていた改修案を組み込んでみた。まずは表示が遅くなっていたサイトのパターンを整理しておくと、ブロックやブログブロックで一度にたくさんの記事を表示していることが原因であった。スクロールする度にAjaxで新たな記事を取得して出力というのがすぐに思い付くが、CMSの開発をしている者として一度に記事を取得するところの改善はしておきたい。ということで、表示を遅くする要因を挙げてみる事にする...

 

SOY CMSでWebP形式の画像ファイルのアップロードに対応しました

A new image format for the Web  |  WebP  |  Google Developers表題の通りですが、SOY CMSの画像のアップロードでWebP形式の画像ファイルのアップロードに対応しました。いつの間にか世界中で使用されている95%のブラウザがWebPに対応しているのですね。今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。https://saitodev.co/soycms/

 

SOY CMSのMIMEタイプの制限設定でページ毎の設定を追加しました

SOY CMS / SOY ShopでファイルのアップロードをMIMEタイプで制限できる設定を追加しましたで紹介した追加したMIMEタイプによるファイルのアップロードの制限の設定ですが、記事投稿画面とファイルマネージャ(elfider)で制限の設定を別けたいという要望がありました。この要望に対して定数ELFINDER_MODEを設けて、設定を別ける方法を追加しました。例えば、記事投稿画面ではファイルのアップロードを画像ファイルのみにして、ファイルマネージャではCSSやJSファイル...

 

SOY CMSとSOY ShopでPHP8.1系に対応しています

PHPの新しいバージョンである8.1系がリリースされました。PHP8.1系でSOY CMS、SOY Shopで大きく影響を与えたものが、ビルドイン関数のstrlenでした。PHP: 内部(ビルトイン)関数 - ManualPHPのバージョンが上がるにつれ、nullの扱いが厳しくなり、$a = null;$len = strlen($a);のようにstrlen関数の第一引数にstring型以外の値を入れるとエラーになるようになりました。これはPHP8.0の時のdat...

 

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

SOY CMSのカスタムフィールドアドバンスドでリストフィールドを追加しました。リストフィールドとは?になりますが、記事投稿画面で上記のキャプチャのようにたくさんの値を登録できるフォームを設置し、公開側では、ulliリンゴ/liliゴリラ/liliラッパ/liliパンダ/li/ul上記のようなHTMLを出力します。テンプレートへのcms:idの書き方が他のフィールドとは異なり、例えばフィールドIDがhogeの場合は、!-- cm...

 

SOY CMSでWordPress記事インポートプラグインを作成しました

表題の通りで、WordPress記事インポートプラグインを作成しました。当プラグインはWordPressのMySQLのデーターベースからSOY CMSのデータベース(SQLite、MySQLどちらも可)に記事を移行できます。現時点での記事数の移行実績は2500記事になります。現時点での注意点は、WordPress側のwp_postsテーブルにある記事データの内、post_excerpt(記事の抜粋)の値の取り扱いが決まっていません。当プラグインを利用する予定で、post_ex...

 

SOY Shopで無料相談用の予約カレンダーの開発を行いました

表題で記載した通り、SOY Shopで無料相談用の予約カレンダーの開発を行いました。今回の予約カレンダーで今までの予約の仕組みと異なる箇所は、スパーク運動療育西京極スタジオ様サイトの制作を行いましたSOY Shopで予防接種用の予約アプリの開発を行いました相談日選択と相談時間選択を別のページとして分け、予約可能日時を分かりやすくしたことがあります。実際の動作は下記のページで確認することができます。無料相談予約 - 新潟県司法書士会 - 日付選択...

 

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

SOY Shopのタグクラウドプラグインを利用している方から、登録したタグの候補の数が多くなったので、わかりやすくしてほしいという要望がありました。SOY Shop版タグクラウドプラグインを作成しましたこの要望を解決するためにタグの候補をカテゴリ分けできる機能を追加しました。今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。https://saitodev.co/soycms/soyshop/

 

SOY Shopの商品名検索でオートコンプリートを追加しました

表題の通りですが、商品検索フォームで、入力補完の機能を簡単に追加できるプラグインを追加しました。このプラグインでは、商品毎に読み方を登録することで、ひらがなやカタカナでの検索も可能になります。漢字表記、ひらがなやカタカナでの部分一致にも対応しています。当プラグインでは、設置に必要なJSのライブラリを自動で読み込むようになっていますが、HTMLの記述によってはうまく読み込めないことがあるかもしれません。その際はSOY ...

 

SOY CMSで履歴自動削除プラグインを作成しました

表題の通りですが、SOY CMSで履歴自動削除プラグインを作成しました。履歴とは記事の投稿や編集内容を記録するものと、ページのテンプレートの編集内容を記録するものがあり、サイトを長年運営していると相当量の履歴が溜まります。今回作成したプラグインで出来ることは、・記事とテンプレートのどちらでも、任意の日よりも古い履歴は一括で削除・記事やページ毎に残しておく履歴の件数の指定の二点があり、記事は履歴を自動で削除するけれども、テンプレートの方は一切削除しないといった設定を行う事が...

 

SOY Shopの標準配送モジュールの配送料無料設定で例外の設定を追加しました

SOY Shopのユーザから基本は○○円以上購入で配送料無料にしているが、一部の商品の購入の時のみ、注文金額が○○円に満たない場合でも配送料を無料にすることはできますか?という質問がありましたので、標準配送モジュールの配送料無料設定で例外の設定を追加しました。例外の設定は下記の三通りの方法を設けました。・カートに指定した商品のすべてが含まれている(AND)・カートに指定した商品のうちどれか一つが含まれている(OR)・カートに入っている商品が指定した商品である(MATC...

 

SOY CMS / SOY ShopでライブラリをCDN経由にする設定を追加しました

表題の通りですが、SOY CMSとSOY Shopの管理画面で利用しているjQueryやBootstrapをCDN(コンテンツデリバリネットワーク)経由で読み込む設定を追加しました。コンテンツデリバリーネットワーク - WikipediaSOY CMS3系とSOY Shop2系の管理画面ではBootstrapを用いているが、プラグインも合わせて14個のファイルを読み込んでいます。軽量なファイルとはいえ、14個もファイルがあると、それなりにサーバの負荷がかかることに...

 

SOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しました

GoogleからGoogle Sign-In for Websitesを利用していたサイト宛にSign In With Googleへの変更の連絡があったので対応しました。SOY ShopのGoogle Sign-In for Websitesプラグインでボタンの拡張設定を追加しましたGoogle Identity Platform  |  Google Developersページのテンプレートに挿入するタグやスクリプトに大きな変更がありますので、当プラグインを使用している方はS...

 

SOY CMSのカスタムフィールドアドバンスドで適用ラベルの設定で複数ラベルの設定を追加しました

カスタムフィールドで適用ラベルの設定で複数ラベルを設定できるようにしたいという要望があったので対応しました。※SOY CMSではカスタムフィールドの開発は終了しており、カスタムフィールドアドバンスドでの話になります。適用ラベルというのは、各フィールドにある高度な設定内の設定になりまして、ラベルと連動を設定する度に未設定のセレクトボックスが追加されていきます。今回対応分を含んだパッケージは下記のサイトからダウンロード出来ます。https://sait...

 

SOY Shop版タグクラウドプラグインを作成しました

表題の通り、SOY Shopでタグクラウドプラグインを作成しました。SOY Shopで高度な検索フォームを設置してみようの記事で紹介しているカスタムサーチフィールドや標準機能の関連商品プラグインと組み合わせることで、商品の探しやすさは格段に向上するはずです。今までもタグクラウドプラグインの要望自体はありましたが、カスタムサーチフィールドのチェックボックスのフィールドでタグクラウドプラグインっぽい運営は一応可能であったため未対応でしたが、要望が増えたため追加しました。今回対応分...

 

SOY CMSのモジュールで公開期限付きのcms:ignoreのようなものを作成してみる

ユーザから公開期限付きcms:ignoreが欲しいという連絡があった。cms:ignoreについては、ブログページを作成する(ブログトップ) - SOY CMSを使ってみように使用例があるので、この記事では詳細には触れない事にする。PHPモジュールを使用する(要PHP) - SOY CMSを使ってみよう早速本題の公開期限付きのcms:ignoreのようなモジュールを作る。!-- cms:ignore cms:start="2021-08-01 00:00:00" cms:en...

 

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

SOY Shopでショップサイトを運営しているユーザから下記のような話があった。注文後の配送業務で、管理画面の注文検索で任意の検索条件で検索をした後に一括で納品書を出力して、その納品書に従って梱包作業を行っているが、検索の条件が多くて時々、本来入れるべき条件を加えずに検索をしてしまい、配送漏れが生じてしまう。この課題に対して、簡単な仕組みではあるが、管理画面の注文検索のフォームの上に確認用のボタンを設置できる拡張ポイントを追加した。SOY Shopプラグインの...

 

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

タイトルだけでは何をしたいのか?がわからないので、事例ベースで話を進めます。以前、SOY Shopで注文番号をCODE39規格でバーコードを作成してみるの記事の延長上で、納品書に注文番号のバーコードを載せ、梱包が終わった後に納品書にあるバーコードをスキャンしたら、SOY Shop内のデータベースの注文状態を自動で変更するという機能を作成しました。※上記の機能は標準機能ではありません。この機能はタブレット内のブラウザで動かす為のWebアプリにしましたが、タブレットでSO...

 

SOY CMS / SOY ShopでファイルのアップロードをMIMEタイプで制限できる設定を追加しました

SOY CMSのユーザからの要望で記事やテンプレートの画面からファイルのアップロードする時やファイルマネージャ(elFinder)からファイルをアップロードする時、拡張子(実際にはMIMEタイプ)によってアップロードの許可や禁止の設定を行いたいというものが頻繁にあります。※JavaScriptのファイルのアップロードを許可したり、PDFのアップロードを禁止したりMIME タイプ (IANA メディアタイプ) - HTTP | MDN今まで伝えてきた...

 

SOY Shopで子商品の検索回数の設定で高速化

SOY Shopをリリースして10年が経ちましたの記事で記載した通り、SOY Shopの公開から10年以上経過しました。リリース直後からショップサイトとして運営してくださっているユーザの中には、様々な取り組みから、注文データだけではなく、商品の登録数や商品に対するレビュー数も増えていきました。結果、商品一覧ページの表示速度の低下が目立つようになりました。そこで更なる高速化を目指す為に、・商品一覧ページで子商品のデータを取得する・商品詳細ページで子商品のデータを取得する...

 

SOY Shopで概要欄設置プラグインを作成しました

SOY Shopのユーザ、しかも同じような時期に二名から下記の要望がありました。管理画面の左側の下部に気軽に編集できる概要が欲しい。この機能であれば、以前開発したSOY CMSとSOY Shopの管理画面でメモウィジェットを設置しましたの記事で紹介したメモウィジェットがあれば事足りるのでは?と思いますが、テキスト内にあるテキストでリンクがあった場合は自動でクリックできるようにして欲しいので、メモでは事足りないとのことです。この要望にあるリンクの...

 

【重要】SOY Shopでクレジットカード支払いが正常に終了しなかった注文を通知する機能を追加しました

SOY Shopで運営しているショップサイトで、クレジットカード支払いは成功しているのに、注文受付の処理が終了しなくて、注文を見落として大問題となったという事案が発生した。SOY Shopはリリースしてから10年以上経過したが、こんな話ははじめてで、未だに原因が分からない。スマホからの注文であったので、WiFiとセッション絡みだと予想している。利用していたクレジットカード支払いモジュールには、APIの方のオーソリの登録の後にSOY Shop側で一度リダイレクトを行った後に注文受付...

 

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

カスタムフィールドアドバンスドの記事フィールドの使いどころの記事で紹介した機能を利用している方から、記事ではなくラベルのみを選択したら、ラベルに紐付いた記事一覧を出力できるフィールドが欲しいという要望があった。試しにカスタムフィールドアドバンスドにラベルフィールドという新たなフィールドを追加してみたところ、メモリの使用量が膨大になってしまったらしく、実装することができなかった。なので、ラベルフィールドというプラグインに切り分けてみた。ラベルフィールドはカスタム...

 

SOY ShopのB2CSVプラグインの送り状種類の項目で送料で分ける方法

SOY ShopのB2CSVプラグインで、CSV出力時に、各注文の送料に応じて、送り状種類の項目を自動で出し分けたいという要望がありました。例えば、送料が800円の場合は発払いの0で、送料が200円であればネコポスの7といった感じ。https://bmypage.kuronekoyamato.co.jp/bmypage/pdf/new_exchange1.pdf機能が複雑になってしまうので、標準機能としては組み込めませんが、隠し機能を設けて対応出来るようにしました。今回は隠し...

 

SOY CMSのサイトマッププラグインでカノニカルURL挿入プラグインの設定を加味するようにしてみた

今まで気が付かなかったのが大変恥ずかしい内容ではあるが、SOY CMSから出力されたサイトマップがSearch ConsoleでほとんどのURLが除外されていた。除外理由は重複しています。送信された URL が正規 URL として選択されていませんであるらしい。詳細を読み進めてみると、Googleが既にインデックス登録したURL(正規URL)とサイトマップに記載されていたURLが異なるらしい。何でこんな事になっているのだ?と正規URLとサイトマップのURLを比較してみたところ...

 

SOY Shopのクーポン自由設定プラグインでクーポン検索を追加しました

SOY Shopを公開してからすぐに使用しようしている方から下記の連絡があった。SOY Shopをリリースして10年が経ちましたクーポン自由設定プラグインで期限切れクーポンが増えてきて、クーポン一覧の画面が見にくくなったので表示の整理用の機能が欲しい。ということで、クーポン一覧にも検索フォームを設けてみた。今更検索フォーム?と思うかもしれないが、クーポン一覧は専用の拡張ページを持たず、プラグイン毎の詳細画面で管理していて、プラグインの詳細画面では検索フォームを...

 

SOY Shopの管理画面からの注文の商品検索の高速化に挑戦

SOY Shopの標準機能である管理画面からの注文の機能を活用している方から下記のような要望があった。SOY Shopで在庫管理の業務アプリに向けての機能追加の記事で紹介した商品検索して選ぶの機能の検索速度を速くすることは可能か?と。連絡があった方の管理画面で商品検索をしてみたが、結果が返ってくるまでに10秒近く要した。商品数が1000件を超え、商品グループ機能も活用している事が検索速度を遅くしている要因だった。電話での注文で管理画面からの注文の機能を活用...

 

SOY Shopで管理画面からの注文で0円商品の追加の設定を設けました

SOY Shopの管理画面からの注文で、未登録商品を0円で登録できる設定を設けました。今回の改修で他に未登録商品を0個で登録できる設定も合わせて設けました。※SOY Shopのサイト毎の管理画面の基本設定のページで設定可この開発の経緯は管理画面の注文において、ある商品を購入したら、サービスで他の商品も加えたいという用途があり、サービスの品を納品書に加える為に0円で加える必要がありました。商品を0円で登録したものをカートに加える事は元から出来ているので、サービス品の在庫の管...

 

SOY Shopで顧客情報引継ぎプラグインを作成しました

SOY Shopで下記の要望がありました。ネットショップの方で注文予約をし、商品は店舗に来店して受け取る予約注文型のネットショップで来店時の人数を制限したい。SOY Shopの標準機能で予約カレンダーがあるので、従来のネットショップと予約カレンダーを繋げる為のプラグインを開発してみた。SOY Shopの予約カレンダーでレスポンシブ対応今回開発したプラグインは一つ目のショップサイトで注文し、注文受付画面でリンクをクリックするかリダイレクトによ...

 

SOY Shopのパスワード自動生成プラグインで管理画面で追加した顧客も自動生成の対象にする設定を追加しました

表題の通り、SOY Shopのマイページログイン用パスワード自動生成プラグインで管理者が管理画面で追加した顧客(アカウント)に対しても自動でパスワードを生成する設定を設けました。SOY Shopでマイページログイン用パスワード自動生成プラグインを作成しました管理画面で新規で顧客(アカウント)を追加すると、自動でパスワードが設定された後、追加したアカウントのメールアドレス宛にログイン方法の通知メールも自動で送信する事も設定可能です。今回対応分を含んだパッケージは下記のサイトから...

 

SOY CMS / SOY ShopのクッキーやセッションでSameSiteの設定を行う

SOY CMSやSOY Shopのクッキーやセッションで、SameSiteの値を標準のLaxではなく、Strictにしたり、SameSite=None;Secure=true;にする時の方法を整理する。SameSite cookies - HTTP | MDNSameSiteの設定を変更する必要性に関しては、ラムダノートからから出版されている米内貴志著 Webブラウザセキュリティ - Webアプリケーションの安全性を支える仕組みを整理するがオススメ。SOY C...

 

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

SOY CMSでカスタムフィールドアドバンスド イメージフィールドコピープラグインを作成しました。このプラグイン名では一体何がしたいのか?が分からないので、開発の背景から説明します。カスタムフィールドアドバンスドで項目種別を画像にして、高度な設定の属性の追加で「alt」を追加したとします。例えば、記事の投稿の際にcms:id="img"の項目に「/site/example.jpg」と入力して、altに「hoge」と入力して投稿した場合、公開側ではimg...

 

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

ラベルのand検索 記事タイトルをお問い合わせの題名へ - SOY CMSの掲示板に投稿されている内容でSOY CMSのブログページの記事毎ページで、※このキャプチャはSOY CMSに同梱されているbootstrap4テンプレートを用いて作成していますSOY CMSでBootstrap4で作成したブログページ用のページ雛形を追加しましたSOY Inquiryで作成したお問い合わせフォームへのリンクを設置し、クリックしたらフォームに記事名を載せたいと...

 

SOY CMSの記事のCSVインポート・エクスポートでプラグインの項目を追加しました

SOY CMSの記事のCSVインポート・エクスポートでも、SOY Shopの商品のCSVインポート・エクスポート同様カスタムフィールドやプラグイン用の拡張ポイントが欲しいという要望がありました。SOY CMSで記事のCSVエクスポート・インポートを作成しましたそこで上のキャプチャのように記事のCSVインポート・エクスポートの画面で、記事の項目の他にプラグインの項目も追加しました。現在対応しているプラグインはカスタムフィールドアドバンスドとカスタムサーチフィールドになります...

 

SOY CMSとSOY ShopにAceコードエディタを設置しました

Ace - The High Performance Code Editor for the Web表題の通り、SOY CMSとSOY ShopにJavaScript製のコードエディタのAceを設置しました。Aceの設置箇所は下記になります。・SOY CMSのテンプレート編集画面・SOY CMSのHTMLモジュールの編集画面・SOY CMSのPHPモジュールの編集画面・SOY Shopのテンプレート編集画面・SOY ShopのHTMLモジュールの編集画面 ...

 

設置したお問い合わせフォームからの通知メールが届かない

当サイトではSOY Inquiryでお問い合わせフォームを設置しているが、ある日突然、お問い合わせがあっても手元に通知メールが届かなくなった。動作確認をしてみると、ユーザ向けメールは届くのに、管理者向けの通知メールが時々届かない。SOY Inquiryで悪質なお問い合わせをブロックする機能を追加しましたやSOY Inquiryで同一IPアドレスからの連続した問い合わせをブロックするで追加している機能が悪さをしているのかな?と思って調べてみても、処理自体は正常に動いている。とり...

 

SOY CMSでSameSite cookiesの対応を追加しました

技術書出版と販売のラムダノートから米内貴志著 Webブラウザセキュリティ - Webアプリケーションの安全性を支える仕組みを整理するが出版されていたので、Webブラウザ自身のセキュリティ対策の事はほとんど触れた事がなかったので良い機会と思い購入して読んでみた。この本を読んでみて、目から鱗だったのが、クロスサイトリクエストフォージェリを回避する方法を探るの記事で触れたCSRF攻撃をブラウザの機能の活用でも回避を強化出来ることで、cookieを利用をプロトコルレベルで制限出来る事を知った。 ...

 

SOY CMSのブログとOpenStreetMapで地図アプリを作ろう

OpenStreetMap + Leafletで二つのマーカーを設置するまでの記事で、OpenStreetMap + Leafletで複数マーカーを設置する地図を出力できたので、SOY CMSのブログで地図アプリを作ろう1の記事から始まるSOY CMSでGoogle Mapsの出力をOpenStreetMapでリプレイスしてみることにする。はじめにSOY CMSの記事で緯度経度情報を持てるように、カスタムフィールドアドバンスドかカスタムサーチフィールドで緯度経度のフィール...

 

SOY Shopで簡易ショッピングモール運営プラグインを作成しました

表題の通り、SOY Shopで簡易ショッピングモール運営プラグインを作成しました。今までSOY Shopでショッピングモールを運営したいという要望は数多くありましたが、各出店者毎にショップサイトを設けると、顧客のポイントの共通化ができないという問題に陥り、ショッピングモールの実現はできないままでした。今回は発想を変え、一つのショップサイトに対して、出店者という形で管理権限のアカウントを追加し、出店者は商品を登録できるが、他の出店者の登録した商品を見ることができない。 ...

 

SOY CMSでページ切り替えプラグインを作成しました

要望で公開しているサイトのとあるページで、ある期間になったらURLそのままで別のページを表示させたいという事がありました。例えば、https://example.comというサイトがあって、来週から一週間はトップページをキャンペーン用のデザインにする。そこで下記のようなページ切り替えプラグインを開発しました。プラグインの詳細画面で、何月何日からいつまで、任意のページを他の任意のページにするか?の設定をすると、公開側で指定の日時になるとURIそのままで指定した別...

 

SOY Board on SOY Shop

昨年末から、SOY Shopでキャプチャのような掲示板アプリを簡単に設置出来るプラグインを開発している。SOY Shopの顧客とマイページの機能を活用して、自由に投稿出来るWebアプリを手軽に設置出来る。何故このような古くからある掲示板アプリを今頃になって作っているのか?最近の情勢から特に中小企業でWebの活用が高まる中、古くからある掲示板アプリが真価を発揮するような気がしている。元々SOY CMSにはSOY BoardというSOY Appがあるが、改...

 

SOY CMSで外部CSSファイルを自動でインライン化する

【SEO対策】CSSの読み込み方の変更で高速化の記事で、ブラウザとサーバ間のデータ転送のやり取りを減らすべく、htmlheadtitlesample/title/headbodyコンテンツ/bodylink href="sample.css" rel="stylesheet" type="text/css"/html上記のように外部CSSファイルでレイアウトの定義をしていたものをcms:moduleに書き換えて、html...

 

SOY CMSのCumulative Layout Shiftプラグインにpicture要素設定を追加しました

【SEO対策】Core Web Vitalsで紹介したCumulative Layout Shiftプラグインでpicture要素設定を追加しました。先にpicture要素とは何か?を触れておくと、picture要素とはHTML5.1で追加された画像ファイルの出力の最適化の仕組みで、ブラウザがページを読み込む際の画像の出力をimg src="/site/files/sample.jpg"とするところ、picturesource srcset="/site/files/sam...

 

SOY CMSとSOY ShopでPHP8.0系に対応しています

先週、PHPの新しいバージョンである8.0系がリリースされました。PHP8.0では待望のJITコンパイラ(Just-In-Time Compiler)が導入され、PHPという言語の存在感が増したように感じます。実行時コンパイラ - WikipediaSOY CMS、SOY Shopで大きく影響を与えたものが、ビルドイン関数のdate関数とstrlenでした。なんでよく使うビルドイン関数なんだよ!?と疑問になるかと思います。PHP: 内部(ビルトイン)関数 - Manual...

 

SOY Shopで自動注文無効プラグインを作成しました

表題の通り、SOY Shopで自動注文無効プラグインを作成しました。と記載したものの、自動で注文を無効にすることの一体何が良いのかわからないと思います。ここでSOY Shopのクレジットカード決済周りの仕様を紹介すると、SOY ShopでPAY.JPクレジットカード支払いモジュールを作成しました公開側の画面で商品をカートに入れ、注文の手続きを行い、支払い方法をクレジットカード支払いにして更に手続きを進める。カートの中身や手続きの内容の確認の画面の次...


Powered by SOY CMS  ↑トップへ