71からまでを表示 (計201) |
大事な事を書き忘れておりました。
環境は、5.7.5.2 と成ります。
Posted on 10月 27, 2015 at 1:54 午後
|
ログイン時にイベント発火する処理を
application/bootstrap/app.php
に
Events::addListener('on_user_login', function($event) {
・・・処理・・・・
}
というような記述をして開発を進めているのですが、
このイベント時の処理をパッケージから追加したいと考えています。
上記のように、イベントに対するaddListener()は、
application/bootstrap/app.php
に書く事に成っているとすると、パッケージから追加するにはどのようにパッケージのインストールスクリプト(controller.php)に記述すればいいのか、ご教示頂けないでしょうか?
もしくは、それ以外の方法で、addListener()を設定する方法がありますでしょうか?
また、該当パッケージを削除した際には、このイベントフックも削除しないといけないかと思いますので、合わせて教えて頂けないでしょうか?
自分がやりたい事は、本家のURLだと、
http://www.concrete5.org/documentation/developers/5.7/packages/adding-custom-code-to-packages/
に書いてあると思うのですが、
この本家に書かれている内容が、いまひとつ飲み込めなく、咀嚼できておりません。
Posted on 10月 27, 2015 at 1:43 午後
|
東京のコワーキングスペース茅場町 Co-Edoにて、
「WordPress使いの為のconcrete5導入」と題して、勉強会を開催させて頂きました。
勉強会の様子を少し、ご紹介させて頂きます。
平日の19時30分開始と、遅い時間の開催にもかかわらず、申し込み8名全員がキャンセルされる事なく、
ご参加頂き、
・参加者各自の自己紹介
・WordPressとconcrete5とでグローバルナビの設定手順の違いとそこから見えるCMSの違い
・八王子のWEB製作会社 株式会社ライジングサンコーポレーション代表の坂本様から
WordPressでのサイト製作、開発環境、カスタム3兄弟、製作事例のご紹介
等を実施させて頂きました。
資料については、追って公開させていただきますが、
合間に、サイト製作についての質問、資料に書けない本音や、このサイトはどうやって構築(スタイル定義)しているの!?
といった、会話が飛び交いました。
実は勉強会での資料は、後日公開される事が多いので、
参加して初めて聞ける、こう言った会話や、参加者同士の得意な分野についての情報交換ができるような勉強会を継続したいと考えております。
また、基本、concrete5の勉強会ですが、他のCMSだとこうできるんだけどな?
という部分について、(よしあしではなく)比べ、concrete5での製作イメージであったり、運用イメージが
掴みやすい会にしていきたいな?と思っております。
今後も2ヶ月に1回程度のペースで開催を検討しておりますので、可能な方は是非、ご参加頂けないでしょうか?
以下のDoorKeeperページに、アドレス登録していただければ、イベント情報をメールでチェックする事が可能となります。
https://onemorecms.doorkeeper.jp/
Posted on 10月 22, 2015 at 11:57 午前
|
ricoさん
こちらも、Azureの勉強に成ったので、問題ありませんよ。
サイト作られたら、是非、教えてくださいね!
これからも宜しくお願いします。
Posted on 10月 21, 2015 at 11:36 午前
|
こうやって修正するのですね。勉強勉強
ロジック追ったら、キャッシュファイルを生成する部分でエラーに成っているようだったので、
こうゆう場合は、キャッシュファイル生成側で対処するべきかなぁ〜
なんて考えておりました。
Posted on 10月 20, 2015 at 9:36 午後
|
解決しました。
concrete5日本語公式サイトの5.7系のアップグレード方法に記載されている、方法2の手順で、Azure上のconcrete5を5.7.5.2にアップグレードした所、日本語のトピックもエラーなく作成できる事を確認しました。
(前述の.user.iniによるPHPの設定変更は必要です)
Azureに原因があるのか、5.7.4.2に原因があるのかは、
自分の手元に5.7.4.2環境を用意していないので、未確認です。
【調査過程】
1)メッセージを全て英語に変更し、表示されるメッセージを確認
→Invalid title for topic
2)上記が出力されるロジックを調査
ファイルは/concrete/controllers/single_pages/dashboard/system/attributes/topics.php
のadd_topic_node
で、$_POSTでname='treeNodeTopicName'を変数’$title’にセットしている事を確認
3)実際の画面で、httpパケットをスニファーでキャプチャーし、
treeNodeTopicNameという名称でPOSTメソッド内に入力した値が送信されている事を確認
4)自分のローカル環境(ver 5.7.5.2)で同様の操作で、日本語トピックが登録できる事を確認
5)5.7.4.2と5.7.5.2の該当ソースを比較
→ なんだか該当のロジック($_POSTを受け取っている部分)に変更がある事を確認
6)Azure上のconcrete5を手動アップグレードでアップグレードし、本事象の改善を確認
Posted on 10月 20, 2015 at 8:45 午後
|
ご回答ではないのですが、事象の再現と対応検討の為、私もMicrosoft Azure上に
同環境を構築してみました。
(WEBアプリの「ギャラリー」にconcrete5のインストーラが存在していたので、こちらを使用しました)
事象としては、ricoさんが記載頂いた通りです。
環境としては、phpinfo();を実行するphpファイルを/site/wwwroot/に配置し、
phpの設定状況を確認し、不足していた設定を.user.iniに記述し、/site/wwwroot/に同ファイルを配置しました。
default_charaset = UTF8
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
iconv.input_encoding = UTF-8
iconv.internal_encoding = UTF-8
iconv.output_encoding = UTF-8
date.timezone = "Asia/Tokyo"
date.timezoneの設定は、私が米国リージョンに設定した事で必要になった可能性もありますのでご注意ください。
(日本(西)リージョンでWEBアプリを設置した場合の確認が出来ておりません)
尚、トピックでエラーとなる文字列であっても、
「ページ名称」や「ページ属性」の名前で指定した場合には、エラーとならず、登録が可能な状況です。
Posted on 10月 20, 2015 at 4:43 午後
|
Niftyクラウドを使用されるという事なので、L7ロードバランサーを使って、HTTPヘッダー情報を元に、負荷分散をするのかと想像しました。
それであれば、複数のアプリケーションサーバー間でのセッション共有は不要ではないでしょうか?(済みません、concrete5で複数サーバー構成を構築した事がなく、この辺は一般論です)
ただ、このような構成をとった場合、同一アカウトによる他IPからの同時接続など、色々考慮すると、やはり、concrete5側で何らかの改修が必要ですかね?
DB負荷が一番のボトルネックに成りそうというのは、岩本さんのご意見に同意です。
また、キャンペーンサイトという事ですので、SSLも必須とすると、L7ロードバランサーでSSLの暗号化/複合化まで実装する事を想されているか、よりWAN側でSSLアクセラレーターを配置する事を想定されているのでしょうか?
5000ユーザーの同時アクセスとの事ですが、キャンペーンにつきものの、アンケートの入力フォーム等次第で、ある程度、同時アクセスは分散させる事も可能ではないでしょうか?
いずれにしても、こうゆう構成(サーバースペックや構成)で同時N千アクセスに対応しています!
といった、実例が出てくると参考になりそうですね。
Posted on 10月 13, 2015 at 7:13 午後
|
標準のElementalでトップページで使われている「特色」ブロックには、
カスタムクラスが指定されていますので、添付をご参考に、同じカスタムクラスを設定いただければ、同じスタイルで表示されるかと思います。
Posted on 10月 10, 2015 at 5:06 午後
|
yuskhnmさん
ulリストをページリストブロックのカスタムテンプレートで出力する事を想定して、
カスタムテンプレートの例を記載させて頂きます。
半角の":"で分割する為に、PHPの関数「split()」等を使用しています。
表示のパターンの違いがある場合は、それぞれカスタムテンプレートで対応して頂ければいいかと思いますので、1パターンのサンプルで・・・
<?php
// このサンプルでは使用していませんが、helperを呼び出し
$th = Loader::helper('text');
// ここも、サンプルでは使用していませんが、カレントページ情報の宣言
$c = Page::getCurrentPage();
// ページ取得されているページリスト内でループする
foreach ($pages as $page) {
$hoge = $page->getAttribute('hoge');
?>
<ul class="XXXX">
<?php
foreach ($hoge_str as $hoge){
list($h_class, $h_span) = split(":", $hoge_str);
?>
<li class="<?php echo $h_class ?>"><span><?php echo $h_span ?></span></li>
<?php
}
?>
</ul>
}
ページ属性が選択されていない場合などの、ロジックは記載しておりませんが、ご参考にしてください。
Posted on 10月 04, 2015 at 1:18 午後
|