だ。ログ。

開発とかスノボとかやきうとか。

開発

vagrant upが動作しない。

vagrant + virtualboxでローカル用のイメージを作るってな事をしていて、gitからダウンロードしたデータに対してvagrantで設定する。 ってなコマンドを叩く為にpowershellにて $ vagrant up とコマンドを打ち20分経過。。。。。動かない!!!Qiitaのこの記…

CentOSのディレクトリ毎の容量を表示する

ls -h だと4096と言う数字で固定されてしまう、ディレクトリ毎の容量。 # 標準のコマンド $ du - sh # データの大きい順にソートして表示させる $ du -sh | sort -rn ディレクトリ毎に容量が計算され表示される。 ファイル数が多ければ多い程、処理に時間が…

jQueryで後から追加した要素の操作を行う

ボタンを押すと要素が増える。 特に入力要素等が多く、決め打ちで入力欄を持たずにボタンを押すとどんどんと要素が追加されるって言うフォームが増えている。 ただ、その入力要素に対してのチェック等は既存の書き方だと、jsは読み込んだ際に有る要素に関し…

EC-CUBE3の既存パーツ 購入の際の数量のサイズ調整

どうしても独自のデザインを当て込んだ際に、既存で提供されているパーツはそのまま残しておりデザインした物と大きさの統一感が揃わない。と言う事がある。 ただ、このパーツ自体はそのまま残してなんとか最小限の修正に抑えたい。と言う事も多々要望として…

DoctrineQueryBuilderのLimitを設定する

EC-CUBE3で利用されているDoctrine、QueryBuilderを使ったソースコードの簡素化ってのは慣れると便利だが 旧来のおっさんシステム屋からするとまだるっこしい。特にECサイト系の制作だと上限個数とかにこだわるクライアントさんが多い印象。ってな訳で、Quer…

EC-CUBE3のパスワードリマインダの脆弱性のとりあえずの回避を行う

blog.tokumaru.org徳丸浩先生が古い記事で上げていたパスワードリマインダがダメな理由。と言う記事を見てそう言えばEC-CUBEもリマインダ自体はメールアドレスを入力して、そのメールアドレスにリマインダメールを発射する仕組みになっている事に気付く。 総…

ajaxのレスポンスヘッダを確認する

セキュリティ診断等で、自分のプログラムの妥当性を見るためにヘッダを確認する事が多々ある。 どうだっけ?ってなるので書いとく。 success: function(data, return, ajxhead){ var res_data = ajxhead.getAllResponseHeaders(); }コンソールからres_dataを…

LaravelでDB設定を入れても反映されない対処

環境構築をしていて、LaravelをインストールしてからDB設定を記述して $results = DB::select('select * from test_table'); と、接続テストをすると PDOException SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password:…

Laravel5.4にて現在ルーティングされている一覧を確認する

大半は/routes/web.phpに記載されているがコマンドラインから $ cd /laravelがインストールされているディレクトリ/ $ php artisan route:list +--------+-----------+-------------------+---------+-------------------------------------------------+---…

EC-CUBE3の値引き(某大手ペイメント対応)もする

前の記事 rider-dice.hatenablog.comでも触れた値引き、でもこれってEC-CUBE単体の値引きにしかなってなくって某大手のペイメント会社さんを通すと 購入金額のまま送られてしまっている。つまり自分の書いたコードだとコード足らずだったので調査。今回調査…

Lavavel5.4にした際にインストールにハマる

元々EC-CUBE用に構築したCentOS6.9で、phpは5.6.3が入っていた事もあるがLaravel5.4にアップデートすると PHPのバージョンを7にしてください。ってな事でcomposer updateすると怒られる。とりあえず、remiが入っている状態で以下のインストールを実行 $ yum …

CentOS6でlaravelのインストールパスを通す

laravelのリファレンスを観ていて laravel new hoge とコマンドを通すも、コマンドが通ってない。と言われて怒られる。 .bash_profileにパスを通さなければならない。 $echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile $source ~…

laravelの公開ディレクトリ

この頃触ってるlaravel composer create-project laravel/laravel fugafuga --prefer-dist fugafugaと言うプロジェクトを作った後にここに公開ディレクトリを設定して、コントローラが動かないミスをしばしば起こす。 正しくは /fugafuga/public/ publicディ…

報(告しない)連(絡しない)相(なんてない)とコラコラ問答

営業とエンジニアの言った言わない。 システム開発の世界に身をおいていると1年に2,3回はリリース日の言った言わないに振り回される。結局の所、エンジニアと営業の対立の溝が埋まる事はない。 営業はお客様に良い顔をしたいのは分かる。 しかし現実を見てい…

EC-CUBE3のサイト移転時のプラグインの注意

先に本番を作って後からステージングを作った関係で起きてしまった問題 アレコレとプラグインを突っ込んでいたが、このプラグインが起因で例えばページに紐付いているプラグインが無い。と言うエラーが出る。まず出たエラーは Compile Error: Symfony\Compon…

EC-CUBE3で自作のSQLクエリを発行する

基礎的な部分ではあるが、EC-CUBE3はフレームワークで作らられている為、どうしてもちょっとした変更が難しい。 特にSQLクエリ部分は色々な部分に根をはってしまっている為、どうしてもSQLは単発で動かしたいと言う事が多い。 SQLの知識さえあれば、ある程度…

EC-CUBE3のテンプレート内のループ数を取得する

普段のphpだと for($i=0;$i<=$loop;$i++){ echo $i; } で済むのだが、EC-CUBEはPHPコードをテンプレートに書くと基本NG。 じゃあどうやってループ数を取得するか。 {% for Product in pagination %} {{ loop.index }} {% endfor %} あらかじめ予約語があるの…

EC-CUBE3のfaviconを変える

/src/Eccube/Resource/template/default/default_frame.twig を変えられない事もあると思うので。 ##場所 /html/template/default/img/common/favicon.ico これを変更する。 ただし、管理画面のfaviconは別途であり ##場所 /template/admin/assets/img/favic…

EC-CUBE3のページ管理のdescriptionの文字数を変更する

EC-CUBEの管理画面からページ管理を行った際にSEO対策で行うdescriptionの文字上限数が少ないと結構指摘される。 あまり長すぎてもSEO上良い影響はないとと思うが流石にデフォルトの50文字だと短すぎる。 ここはPOSTした際にコンフィグファイルを観るので、…

WAFを経由したらIPが複数に。

セキュリティの観点と導入が簡易に出来ると言う事からWAFを導入する機会が増えてきている。 特に管理画面等をIPアドレスで絞った場合に起こりうる事だが、サーバー変数をREMOTE_ADDRから取っていると 111.222.333.444, 123.456.789.120 と言った形で前がアク…

いちいちPHPからCSVにデータをエクスポートする際の文字コード変換を使うのが面倒くさい

タイトル通り。 本当に面倒くさい。古いシステムだと全てのカラムにmb_comvert_encodingが書いてあり人的なミスでエンコードを忘れやすい。 ふと調べていたが、ファイルに保存する際にこれにした方が楽。 fp = fopen('hogehoge.csv', 'w'); stream_filter_pr…

EC-CUBE3のClassErrorを解消する。

自分で新たに作ったClassファイルが有り、コントローラに記述をする。 $Sender = new \Eccube\Sender\Sendar(); $Sender->setRequest(array("order_id"=>$orderId)); $Sender->sendData(); 自分が作ったのは商品購入 ShoppingController.phpの商品購入コンバ…

EC-CUBE3にエディタをインストールする

どうしてもECサイトの運営はhtmlタグは怖いって言う人が多い。 エディタとか入れれない?と言うオーダーは結構来る。 一番簡単なのはckEditor、EC-CUBEにかぎらず自分はコレを入れる事が多い。 Wysiwygのプラグインwww.ec-cube.net が無料であるので、改造す…

EC-CUBE3のブロックに動的要素を与える

EC-CUBEの強みの一つはパーツをブロック毎に作り、どのページにもはめ込む事が視覚的に出来る。 結構要望として貰う例として、ヘッダ部分に永続的に現在何個の商品が入っているか。と言う事を出したいと言う要望が多い。 特にデフォルトのEC-CUBEのパーツを…

サイトの強制SSL

Let's Encryptが広まり始め、ウチもサイトSSL対応したい!と言うサイトも多くなってきた。 .htaccessで強制的にSSLにリダイレクトするのが手っ取り早い。 RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQ…

EC-CUBE3がELB配下のEC2サーバーにある場合の管理ページのアクセス制限を行う

かなり限定的な構成ではあるがELBの下にEC2にEC-CUBE3がインストールされている。 しかもELBにSSLをインストールしているSSL Terminationを利用している場合 そのままEC-CUBEをインストールし、管理画面のアクセス制限をしてもアクセス制限が出来ない。過去…

EC-CUBE3のindex_dev.phpで出る変数 is not definedの消し方

これはtwigに設定された変数すべてに言えるのだが、変数が未定義で同一のテンプレートを使った場合によく見かける。 別にエラーではないし、他にデバッグしたい事があるのに、index_devでこのエラーを指摘されてよくイラつく。例 コントローラ return $app->…

EC-CUBE3のデバイス判定

いつも忘れるので書いておく。 {% if app['mobile_detect'].isMobile %} スマホ、タブレット {% else %} PC {% endif %} スマホ、タブでスタイルを変更する事が多いのでtwigの機能で持っているisMobileを使う。 この他に isTabletなんてものもある。

youtube埋め込みタグのレスポンシブ対応

あまりcssとhtmlに詳しくないので、とりあえずコピペできるようにする。 <div> <iframe src="//www.youtube.com/embed/hogehogehoge" frameborder="0" width="560" height="315" allowfullscreen></iframe> </div> iframeの典型的な埋め込みコード、このままコピペすればyoutube自体は参照が可能。 ただし、スマホで観た場合はiframeのサイズになってしまうので横幅がはみ出してしまいレスポンシ…

EC-CUBE3で現在のページを調べる

共通ヘッダーだけど見出しだけ変えたい。とか有るので結構必要となる「現在のページ」 $_SERVERから見るだけでなくEC-CUBEの機能でも備えている。 $request = $app['request_stack']->getMasterRequest(); $now_page = $request->attributes->get('_route');…