Concrete5を使ってみていろいろ書くBlogです。関係ない変な事を書いたりもします。Concrete5を使ってみていろいろ書くBlogです。関係ない変な事を書いたりもします。古い投稿[scss]毎回面倒な吹き出しをmixin化なんでもっと早くやらなかったのか不思議で仕方ない。毎回普通にcss書いてたので、流石にめんどくさくてmixin作りました。単色の吹き出しに使えます。$c->getAttribute('option_list');?>オプションリストで複数の値が設定されている場合、すべて生のテキストが出力されてしまってデザインが実現できません。オプション3foreachで回せばタグ付けできます。[メモ]Concrete5のバージョン8からサイトに属性がつけられるようになったので、使ってみました。」だと動かなかったのですが、その辺は詳しくないのでよくわからないです。商品総数を表示したかった。[メモ]EC-CUBE2時代はテンプレートにサクッとphpを書けば表示できてたものが、EC-CUBE3になってsymfonyベースになったせいで非常にデザイナー泣かせのシステムになってしまいました。何が辛いって、「変数一つ表示するのにそんなに手間をかけないといけないの?」ってレベルの話で、データベースの値を変更しないとそもそもcontrollerが動かないという正直なところ、symfonyはもう二度と触りたくないと思いました。仕組みがわからないので、かれこれ数十時間を無駄に費やしたと思います。本も数冊買ったけど全然やくに立たなかった。愚痴っても仕方ないので、登録されている商品の総商品点数の表示の仕方をメモしておきます。ブロックを作る全ページのヘッダーに商品数を表示したかったので、全ページに表示するための、ブロックを管理画面から作成します。ページレイアウトにブロックを追加レイアウト管理で、作成したブロックをページレイアウトに追加します。[重要]DBでdtb_blockのlogic_flgを1にするこれをしないと、上に書いたように、そもそもControllerが動かないという謎の仕様。管理画面のブロック追加のページに書いといてほしいと思いました。Controllerを作る/src/Eccube/Controller/Block/に、任意の名前のファイルを作ります。ProductCountController.phpとかでいいと思います。}}これはもうどうしようもなくてフォーラムに質問したら教えてくれました。本読んだりググるより、直接知ってる人に聞くのが一番だと思いました。ControllerProviderに追記をする/src/Eccube/ControllerProvider/FrontControllerProvider.phpの、75行目付近にブロック関連のプロバイダーが書いてあるので、そこに追記します。ブロックに変数を記述ここで、ようやくビューに変数を書きます。}}</dd></dl>以上です。以下を書くだけだったのに、本当めんどくさくなりましたね。v8]上級権限モードで権限を設定する時につまづく私のための備忘録[メモ]Concrete5で、上級権限モードにすると承認フローや、アカウント別の管理画面へのアクセス処理など、非常に細かく設定ができます。制作上権限の設定を忘れて、ファイルマネージャーへ管理者アカウント以外でアクセスできなくなってしまったり、新規ページコンポーザーでアクセス拒否のエラーが出たりして、あれ、どこで設定するんだっけ?的なことがちらほらあります。上級権限モードにした時に設定を忘れないように、備忘録をつけておきます。できる子ベージのページタイプの限定グループへの期間限定加入をユーザーやグループ毎に行えるようになります。Concrete5日本語公式サイトより権限の設定箇所が結構とっ散らかっている印象があって、ついうっかり設定を忘れてしまうことが多いです。設定する箇所について権限グループを作って、ユーザーごとに権限グループを割り当てる方法をとっています。デフォルトでは、スーパーユーザー(インストール時のアカウント)はグループに属していないため、制作中はスーパーユーザーを使っていると、承認フロー周りの確認などでつまづくことがあります。編集者:編集・ページ追加のみ制作者:最上位権限になります。管理者グループのみに承認メールを飛ばすようにするための区分けです。スーパーユーザーがあるのに制作者グループを作っているのは、チームで制作する際のアカウントのためです。原則的に、編集者が編集を行ってワークフローに送信してもらって、管理者が承認を行って公開、というイメージです。そのほかにも編集者にはページを削除する権限を外したり、テンプレートの変更を行えないようにして作業範囲を限定的にすることで意図しないサイトの崩壊を防ぐ目的で制作しています。僕がいつも設定している箇所は以下の通りです。場所:/index.php/dashboard/sitemap/full基本的に、ページの権限は、フルサイトマップでトップページに設定をして、下階層はトップページを継承するようにしています。「NEWS」ページだけを追加編集できる権限グループには、トップページから権限継承せずにNEWSページ以下のみにページ追加の権限を与えるとか、ページ追加はできないけど、編集だけできる権限グループを作ったりとか、応用するとかなり細かく設定できます。一般公開したくないページを作る場合は、権限を継承せずに手動で「表示」のゲストを登録ユーザーなどに変更すればいいかと思います。場所:/index.php/dashboard/pages/types追加できるページタイプごとに権限を設定できます。ここの設定をすることで、「ページの追加とサイトの案内」ボタンクリック時の「新しいページ」にページタイプが表示されます。ここの設定を完全に忘れていて、下位権限グループで「新しいページ」の項目が表示されなくて小一時間悩みました。場所:/index.php/dashboard/system/permissions/tasks各種設定や、操作などの権限を設定できます。フルサイトマップのアクセスもここにあったりして、ややこしいです。僕はフルサイトマップを使用してページの更新をするのが効率がいいと考えているので、編集者グループにもフルサイトマップへのアクセスを許可すべきかと思っています。場所:/index.php/dashboard/system/permissions/tasksユーザーの追加や、削除などへのアクセスの権限です。編集者にユーザーの追加や削除の権限は与えない方針です。東京都同胞援護会のサイトを10年ぶりにリニューアルしましたhttp://doen.jp/昔MTで作ったせいで更新がすごく大変だったものをconcrete5にしてクライアントの更新作業が楽になるように設計。→xmlかcsvでインポーター使えばよかったと反省。データ投稿だけしてもらうバイトを雇えばよかった。承認フローがなかなかうまく機能してくれなくてどハマり→参考文献がなかったのと、フォーラムに質問するということを考えなかったので反省。次からはググってもわからない問題はフォーラムに質問しよう。→もうどうしようもなくてフォーラムに相談して解決してもらった。更新性が高い設計にするために汎用性をもたせつつ、デザインを両立させるという作業に対して、非常にモチベーションが高く保てたかな、と。今回制作ページは160ページほどで、concrete5で作らなかったらおそらく3倍くらいの作業時間が必要だったのではないかなーと思います。リリースしたおかげで今月は暇になったからゆっくり療養します。さくらのレンタルサーバーだとメール通知が送れない問題[解決]表題の通り、さくらのレンタルサーバーでメール通知が送れない問題が発生して、ログを見てもわからないし、さくらの管理画面にエラーログは出力されないしで、全く原因がわからず1日半くらい費やしてしまってからフォーラムに相談してやっと解決できたのでご紹介します。フォーラムで教えてくださった方に感謝。コメント欄のメール通知が送られないおそらくさくらのレンタルサーバーでのセキュリティで、送信元ドメインが不正だとphp関数からメールが送れない、というのが原因だったのかと思います。8.0.3確認した送れない通知メールは以下コメント欄ブロックの通知メール送信テストパスワード再発行のメールなお以下の通知メールは送れていました。ワークフローの通知フォームブロックからの投稿通知application/config/generated_overrides/concrete.phpに以下を追記して対処しました。コメントをどうぞMacのFirefoxでimgのhoverにtransitionとopacityを書くとバグる表題の通りです。Firefox(バージョン52で確認)で、画像にマウスを乗せた時にフェードでちょっとだけ透明度を上げるような動き、よくあるじゃないですか。画像に直接transitionとopacityを指定したら、途中までは想定通りフェードで透明になるんですが、最後にopacity:1に戻ってしまうという事象が発生しました。追記どうやらwindowsのfirefoxだと想定通りに動くらしいので、macのfirefoxだけの事象のようです。タイトルを変更させていただきました。Firefoxでimgのhoverにtransitionとopacityを書くとバグる↓MacのFirefoxでimgのhoverにtransitionとopacityを書くとバグる想定の動き(Chromeでの表示)Firefoxでの動き(Firefoxでの表示)ソースコードは以下です。</picture></a></div></body></html>原因がつかめなくて四苦八苦してしまったのですが、img自体にtransitionとopacityを付与するのではなく、imgの親にtransitionとopacityを付与することで解決しました。コメントをどうぞ[concrete5]ページリストからページのエリアを表示するページリストで、ページ属性の取得は$page->getAttribute(‘handle’);で簡単にできたのですが、ページ内のエリアの取得ができなくてハマってしまってかなり時間を費やしてしまったのでメモ。acliss19xxさんに教えていただきました。カスタムテンプレート内に、下記を書くと表示できます。Designerを利用するようになりました。first)」って書いてありました。Proはインストールできないのでした。Designer本体が必要と。トータルで$95もかかりました。商品総数を表示したかった。