Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

Vue-router でリンクが効かない(ように見える)

同じコンポーネントから同じコンポーネントへ移動しようとすると、コンポーネントが再利用され、再描画されない現象が起こる。そのため、「リンクが効かない」ような錯覚を起こす next()を使って解決する コンポーネントのjs computed; created()なんかと並…

PhpMyAdminインポートで「413 Request Entity Too Large」が出る場合の処理

環境 さくらインターネット WordPress PhpMyAdmin 手順など WordPressのデータベースを移行しようとして、PhpMyAdminの「インポート」を使ってsqlファイルを読もうとすると、「413 Request Entity Too Large」になってしまう。 前回も調べてけっこうハマった…

改めて開発環境を整理しなおしたい

開発を始めてからこっち、いろんな記事を参考にあれを導入してみたり、これをやってみたりとまとまりがなかったこともあり、何から手をつけたものだかわかりにくくなり、開発効率まで下がっている気がする。 新しいMacBookProを購入したこともあり、今理解し…

ECCUBE3管理画面の「キャッシュ管理」が表示されないのは偶然じゃなかった

目次 目次 環境 手順など root_urlpathも危険。 環境 [EC-CUBE] EC-CUBE3.0.16 手順など しばらく前から、管理画面の中の「コンテンツ管理」「キャッシュ管理」の表示が変になっていた。 translator以外のチェック項目が消えてしまっていたのだ。 キャッシュ…

ECCUBE3 テンプレートイベントのformからデータを取り出す

ちょっと行き詰まったところがあったのでご紹介がてら。 目次 目次 環境 手順など 環境 [EC-CUBE] EC-CUBE3.0.16 手順など テンプレートイベントのformの値にアクセスする際、なかなか思ったようにいかなかったので、正解はこんな形だったというメモ。 欲し…

なぜSymfonyのフォームは融通が効かないか

Symfony2のフォームの仕組みはけっこう複雑だ。 FormType 、FormBuilder、FormViewといった段階的なフォーム生成 ModelData、NormData、ViewDataという三段階のデータ構造 handleRequest() した後は値を変更できない Entity のプロパティとのひもづけ 関与す…

ECサイトの英語化に使った英文例

コーディングとあんま関係ないけど……。 英語は我流なので正しいかどうかは知らぬ。自己責任でどうぞ。これは違うぜ! という御仁はぜひコメントしてください。 いくつか未訳なのは、作成したECサイト上で不要だったため。 'ログイン情報をお忘れですか?' =>…

ECCUBE3「フィールドグループに追加のフィールドを含んではなりません」

以下のメモは、まだECCUBE3のことをよくわかっていなかった時に書いたもの。とはいえ今でもまだ頭がよく整理できていない。 「フィールドグループに追加のフィールドを含んではなりません」と言われてしまう件について。 環境 [EC-CUBE] EC-CUBE3.0.16 prope…

Twigテンプレートでの文字列比較

目次 目次 環境 文字列の比較ってどうするんだろう? 参考記事 ~ 環境 Twig 文字列の比較ってどうするんだろう? テンプレート内で文字列を比較しようとして、はたと困った。 Twigの中でifが使えるのは分かっていたが、比較はどうやるんだっけ。 == を使うの…

JavaScript のawaitが無視される(ように見える)

目次 目次 環境 awaitの戻りを待たずに次の処理が進んでしまっている(ように見える) Promiseオブジェクトの状態を調べてみた 結論 環境 JavaScript ES2017 awaitの戻りを待たずに次の処理が進んでしまっている(ように見える) async関数の中にawaitを書い…

図を描きながらコーディングしたい

開発をしている当初は別に図示しなくてもサクサク描いていけるんだけど、しばらく間が空いたりするとコードの流れを追うのが苦痛になり、「やっぱ開発文書を残しておけばよかった……」となる。 特に図。図が欲しい時は多いのだけれど、なかなか思い通りにさく…

ECCUBE3のフックポイントを整理する

目次 目次 環境 共通フックポイント Controllerからdispatchされるフックポイント テンプレートフックポイント テンプレートフックポイント まとめ 参考記事 環境 [EC-CUBE] EC-CUBE3.0.16 フックポイントはプラグインから本体の挙動に手を加える重要なポイ…

ECCUBE3のログインアイコンの色を変える

ECCUBE3 のデフォルトでは、ログインしているかどうかがわかりづらい。 ログイン中、アイコンの色を変えてみる。 SVGファイルで形状を規定しているファイル。 html/template/default/img/common/svg.html CSSで色など規定しているファイル。 html/template/d…

ECCUBE3 で新商品登録時にClassCategoryを追加する

新しく商品を追加する時に、ClassCategory1がなくて怒られたので、追加処理を書いた。 環境 [EC-CUBE] EC-CUBE3.0.16 [PHP] 5.6.36 [データベース] MySQL 5.7.16 手順など $ClassName = $app['eccube.repository.class_name']->find(1);//idは例 $ClassCateg…

ソースコードから正規表現でメソッドのリストを取り出す

目次 目次 手順など EmEditor追記 ~~ 手順など 他の人が作成したコードを整理するときに、関数名だけとりあえずリストにして、フローチャートに突っ込んでみたい衝動に駆られた。 正規表現でなんとかなる予感。 正規表現で文字列を含まない、否定の記述 | UX…

AdvancedCustomFieldsのbooleanの値で`wp_query`をソートしようとしたら詰まった

目次 目次 環境 手順など 参考記事 環境 WordPress 5.2 手順など AdvancedCustomFields(以下ACF)のbooleanの値でwp_queryをソートしようとしたら詰まった。 true/falseのカスタムフィールドで並べ替えして記事を出すのはほぼ無理っぽい。 要因は3つ。 wp_q…

kintoneでルックアップフィールドの変更イベントを検出したい時のコツ

アプリA.foorbarルックアップフィールドで、アプリB.foobarレコードから、値を取得してきて、アプリA.hogeとか。アプリA.fugaとか更新しているとします。 そしてアプリA.foobarルックアップフィールドが変更された時に、アプリA.bazフィールドを変更したい場…

kintoneのサブテーブルを書き込もうとすると「カスタマイズ用のJavaScriptの実行時にエラーが発生しました。」と言われる

カスタマイズ用のJavaScriptの実行時にエラーが発生しました。アプリの管理者にお問い合わせください。 と言われてしまう件。 どうも、サブテーブルに書き込みをする際には、以下のような(直観的でない)仕様になっているような……。 書き込むjsonには、サブ…

ECCUBE3のメールテンプレートの改行規則がよくわからない

という話。 問い合わせメールの内容を変更していたのだけれど、改行が適用されたりされなかったりする。 ************************************************ ご請求金額 ************************************************ ご注文番号:{{ Order.id }} お支…

WP_Queryでカスタムフィールドの「関連」を呼び出す

WordPressの「Advanced Custom Field(ACF)」を便利に使っている。 その中に「関連(relationship)」というカスタムフィールドがあり、記事に別の投稿オブジェクトや投稿IDをひもづけることができる。 で、少々複雑なのだが、「自分自身に紐付けられている…

全角カナを含むかどうかPHPで判定する

仕事で「全角カナを含むかどうか判定する」という場面に遭遇した。正規表現で解決することにして、webの情報を探す。 目次 目次 文字コードの設定から 「含む」とか「含まない」とか サンプル 参考記事 文字コードの設定から mb_regex_encoding("UTF-8"); 「…

WordPressマルチサイトの移行で上手くいった手順

仕事で更新を依頼されたサイトがWordPressマルチサイトだった。 だいぶ複雑に手を加えられた迷宮状態だったので構造を理解するのにも時間がかかったんだけど、開発環境を構築するのにもえらい時間がかかった。 シングルサイトのWordPressならファイルとデー…

kintoneにコマンドラインからJavaScriptをアップロードする

kintoneにJavaScriptをアップロードする際、これまでwebブラウザから「アップロード」したり「プラグイン更新」したりしていたけれど、コマンドラインからアップロードできるという情報を知ったので試してみることにした。 目次 目次 環境 手順 管理が便利に…

htaccessをいじってECCUBE3にメンテナンスモードを実現する

一時的にサイトの機能をクローズしておくことを俗に「メンテナンスモード」などと呼ぶ。 ECCUBE3標準ではこの機能はない。 目次 目次 環境 htaccess を書き換える 環境 [EC-CUBE] EC-CUBE3.0.16 [レンタルサーバ] さくらインターネット htaccess を書き換え…

ECCUBE3でハマった仕様

私がECCUBE3の開発をしていて「ええっ」と思った仕様を挙げておく。 目次 目次 環境 「数量変更」ボタンの機能はカートに戻されるだけ FaxTypeというFormTypeは存在しない メールのSubjectはMailService.phpで変更する CustomerAddressは顧客住所ではなく配…

ECCUBE3のShippingControllerは、配送先をどう処理しているか

ShoppingControllerの中で、配送先(CustomerAddress)がどのようにセットされているか、調べてみた。 目次 目次 受注ステータスがorder_processingの受注を取得 is_null(order_processing)の場合 getShippingFormBuilder($Order) builder->getForm() 結論 …

ECCUBE3の送料を変更する

目次 目次 環境 手順など 合計金額が合わない 環境 [EC-CUBE] EC-CUBE3.0.16 手順など 何度やってもうまくいかず苦労した。手強い。 /* $eventから受注データを取り出す */ $order = $event->getArgument('Order'); $deliveryFee = $this->getDeliveryFee($o…

ECCUBE3の管理画面のパスワードを紛失した時の処置

環境 [EC-CUBE] EC-CUBE3.0.16 開発中にサーバーを変えたりすると、dbのマイグレーションの関係で、けっこう頻繁に管理画面に入れなくなったりする……。 以前の解決方法 前回はこちらのやり方で解決した気がする。 【3.0.15】管理者パスワードを忘れた時に管…

ECCUBE3で受注確認メールの内容を修正する

目次 目次 環境 event.yml EVENTファイル 受注確認のメールにプラグインから手を入れたい。普通のテンプレートイベントと似て少々異なるので、手順を調べるのに戸惑った。イベントmail.orderをフックする。共通フックポイントとか呼ばれるものらしい。一次資…

Stylusを使って、kintoneを改良する

Chromeの機能拡張「Stylus」は、ユーザーが勝手にCSSを追加できる。これを使って、kintoneの画面を少々いじってみたい。 メニューのスペース選択リンクを拡張する。 メニューの「スペース」を選択するところ。 クリックできる部分を幅いっぱいに拡張し、色を…