Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

内部対策SEO:ページネーション対策 [link rel="next"/"prev"] アーカイブページでページネーションを使用している際に 現在のページに対する前後ページの存在をlinkタグで吐き出すコードです。 rel=prev/nextは コンテンツを理解するためのヒントとして使われているため、 必ず処理されるわけではありませんが、SEO対策の上で必要な物なので これをhead内に入れておくだけで安心です。 <?php $archiveBaseRrl = preg_replace('/\/page:[1-9].*?$/', '', Router::url($this->BcBaser->getHere(), true)); $params = $this->Paginator->params(); if ($this->Paginator->hasNext()) { $nextPag
【SEO対策】 ページネーション毎に異なるページと認識させる 「新着情報」や「ブログ」などのアーカイブページで記事が多い際にページネーションを使うと思いますが、 2ページ目も3ページ目も同じタイトルではSEO的に全て同じページと認識されてしまい、正確なデータを取ることができません。 そんな時に使えるのが今回のコードです。 アーカイブの1ページ目は通常タイトルで2ページ目以降には「タイトル 2ページ目」とページ数を出力する為のタグです。 もちろんアーカイブページでなければ通常のタイトルを出してくれるオールインワンの優れモノです! SEOへの意識の高い方で探してある方も多いかと思いますのでアップしておきます。 <?php $title = '|'; $description = ''; if ($this->Paginator->params()) { $params = $this->Pag
OctoberCMSのバックエンド(管理画面)からデータにファイルや画像をアップロードして添付するのは、フォームの定義だけでロジックの実装なしに実現できる。それに関してはこちら しかし、プログラムロジックで添付する方法はドキュメントがなかったのでここにメモする。 TL;TR 添付ファイルを持つことになる親モデルクラスにリレーションを作成 System\Models\File のインスタンスをnewで作成 fromFile($filePath) でファイルを読み込む save() でテーブルに保存 親モデルクラスのリレーションにadd()する 親モデルをsave()する Productモデルが複数の画像を添付ファイルとして持つケースを例にして詳細を説明する。 リレーションの作成 複数の添付ファイルの場合$attachManyに連想配列で定義する。 配列のキーにフィールド名、値にモデルクラスを
DB(MySQL)からのselect結果をJSON形式で返すAPIを作っていた時の話。 テーブル定義上ではint型で定義しても、JSONレスポンスで返すと何故か文字列に変換されていたので、色々調べてみると、PDO周りの設定が問題でした。その時調べた事とかメモ書き程度にまとめときます。 動作環境はCakePHP3.69とMySQL5.7です。 エミュレータモード PDOの設定でこんなのがあります。 詳細は丁寧にまとめて下さっている方々がいるので、以下の参考文献を一読頂ければと思いますが、データベース側が持つプリペアドステートメント機能のエミュレーションをPDO側で行うかどうかを設定するらしいです。 ・PDO::ATTR_EMULATE_PREPARESのON/OFF比較 ・PHPでデータベースに接続するときのまとめ エミュレータモードをon/offにした時のパフォーマンスを計測して下さってい
OctoberCMS用のネットショップ作成プラグインはいくつかあるが、拡張機能が充実しているShopaholicを使ってみる。 プラグイン自体は良さそうだがドキュメントがあまりに不十分で、使い方を把握するのにソースコードを紐解く必要があった、のでメモ。 今回はプラグインのインストールまで。 使用するプラグイン Shopaholicは更に機能拡張するためのプラグインを多数(有料含む)用意しているが、下記プラグイン(無料)だけで基本的にECサイトは作ることができる(はず)。 Orders Shopaholic - Shopaholicにカートや注文登録機能を追加する拡張プラグイン Shopaholic - Shopaholicの基礎プラグイン。主に製品情報を管理&提供する ToolBox - 上記プラグインで使用している主にライブラリ Shopaholicのインストール 管理画面でインストール
前回はShopaholicをcomposerでインストールする方法を説明した。 今回は製品を登録して、フロントエンドサイトで製品を表示するところまでを説明する。 製品を登録する "Catalog" メニューから製品を登録することができる。 URLはURL中でこの製品を特定するのに使用するユニークなキーを入れる。次のセクションで言及しているslugがこれである。 次に"Offer"について。 Productsの登録画面には価格を登録するところがない。価格はOfferで管理されているためだ。 Offerとは同じ製品に条件次第で異なる価格設定を登録するためにある。 例えば、セットで購入する場合に値段を割安にする、ということが考えられる。 ということでOffersタブから価格を登録する。 製品を表示する 表示するにはProductPageコンポーネントまたはProductDataコンポーネントを使
環境: Laravel 5.6 Laravel5系では、発行されたSQLを以下の手順で確認できます。 DB::connection()->enableQueryLog(); データベースアクセスのメソッドを実行する。 DB::getQueryLog(); これを使ってPHPUnitでRepository層のテストを書くことが目標です。 例として、指定したUserIdで直近2週間の記事一覧を返すメソッドのテストを実装します。 サンプルのテストコード public function testQueryTest() { $article = new Article; //Eloquent Model $repository = new ArticleRepository($article);//コンストラクタイジェクション DB::connection()->enableQueryLog();
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く