登録日
2014年11月8日

メンバー検索

  

endo

名前(ニックネーム)
多摩勉強会/遠藤
自分のconcrete5サイト
http://www.generation.ne.jp/
ホームページ
http://www.generation.ne.jp/
自己紹介
concrete5に関わる皆さんと情報交換したいです!
concrete5.org のユーザー名
concrete5 Slack Team ID
Twitterアカウント
フォーラム総投稿数
201

コミュニティバッジ

投稿

121から130までを表示 (計201)

ページ属性で「日付/時刻」型は、検索ブロックでエラーに成ります

ページ属性で「日付/時刻」型の属性を設定する際、
「サイト内ページ検索インデックスに含める」のチェックボックスをチェックして生成すると、

検索ブロックを配置したページで、検索項目に任意のテキストを入力して、検索を実行すると、
プリペアードステートメントが日付型項目として生成されない為、SQLエラーに成るようです。
画面には「予期せぬエラーが発生しました。」と表示され、実行されたプリペアードステートメントが表示されます。

回避策は、
「サイト内ページ検索インデックスに含める」のチェックボックスをチェックしない
事位しか現状では無いようです。

Posted on 8月 13, 2015 at 4:25 午後

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

バグトラッカーへ登録、チャンレンジ(という言葉を使わなければ行けないところが残念ですが)してみます。

Posted on 8月 11, 2015 at 8:11 午前

Re: ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

まだ、検証が足りませんが、自己解決したので、報告しておきます。

ページ属性表示ブロックのデフォルトブロックの(日付/時刻型の)表示時の処理に誤りがありました。

/concrete/blocks/page_attribute_display/date_time.php

上記の7行目が

echo $dh->formatCustom($format, $this->controller->getContent());

と成っていますが、
この第二引数が日付型オブジェクトである必要があるのですが、デフォルトブロックの編集時は、ページ属性に指定されている名称が返却されてしまいます。
(/concrete/blocks/page_attribute_display/controller.php のgetContent()の処理)

その為、前述の7行目を
if (is_object($this->controller->getContent())) {
echo $dh->formatCustom($format, $this->controller->getContent());
} else {
echo $dh->formatCustom($format);
}

とする事で、デフォルトブロックの編集時と、通常のブロック表示時とで、処理を分岐する事で回避させました。

ただ、他の動作に影響していないか?などは、確認出来ていません。

他のソースを見ると、Stackかどうか?などで処理を分岐している記述があるので、
もう少し、スマートな分岐方法があるような気がしています。

Posted on 8月 10, 2015 at 11:03 午後

ページタイプの「出力」ボタンから「デフォルト」設定時、ページ属性で「日付/時刻」型のページ属性をデフォルトブロックに加えるとエラー

タイトルが長くて申し訳在りません。

concrete5 5.7.4.2での(ページタイプの「出力」ボタンから設定する)デフォルトブロックについて、教えて頂けないでしょうか?

ページ属性で、「日付/時刻」型のカスタム属性を
ページタイプの「デフォルト」設定でページ属性表示ブロックを配置した際に、

「Can't convert '[開始日]' to a \DateTime」

といった、エラーが表示されます。

デバッグ設定で「エラーのデバッグ出力を表示」を有効にした所、
/concrete/vendor/punic/punic/code/Calendar.php
の93行目からのtry〜catchで例外が発生しているようです。

TimeZoneの設定に関係するエラーではないか?と予想しているのですが、
PHPの設定ファイルでも、TimeZoneの設定は行われており、
concrete5の「システムと設定」ー「基本」ー「タイムゾーン」で確認すると
「サーバータイムゾーン:」
は、[Asia/Tokyo]と成っている事を確認しました。

ただし、前述のデバッグ設定で「エラーのデバッグ出力を表示」では、
Session部の表示で
Array ( [CLIENT_REMOTE_ADDR] => 127.0.0.1 [CLIENT_HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36 [accessEntitiesUpdated] => 1439127961 [rcID] => 1 [uID] => 1 [uName] => admin [uBlockTypesSet] => [uLastOnline] => 1439207146 [uTimezone] => [uDefaultLanguage] => [uLastPasswordChange] => 2015-08-09 22:45:53 [uOnlineCheck] => 1439207223 [frontendPreviousPageID] => 1 [search/users] => Array ( ) [search/pages] => Array ( ) [editCID] => 203 [dashboardMenus] => Array (


と、uTimezone の値が設定(付与?)されていない事が原因ではないか?
と予想しているのですが、どのような設定を行う事で、
ページ属性で「日付/時刻」型で追加したカスタム属性をページ属性表示ブロックにて表示する事が可能となるか、教えて頂けないでしょうか?


尚、concrete5 5.6.3.3では、無料のアドオン「Attribute Displayer」を用いて、「日付/時刻」型のカスタム属性をデフォルトブロックとして表示できる事を確認しています。

Posted on 8月 10, 2015 at 7:54 午後

Re: リダイレクト

pokinteさん

うまくいったとの事、良かったですね。
あまり、お役に立てず済みませんでした。

Posted on 7月 13, 2015 at 8:15 午後

Re: 最新バージョンとダウンロードURLを取得したい

ありがとうございます。

これ、非常に助かります。
しかも、リリースノートまで返却されてきます。(5.7もXMLが良かった・・・)

5.7の方は、JSONっぽいですが、レスポンスヘッダーのContent-Typeはtext/htmlなんですね。

APP_VERSIONのパラメータが必須って所が少し、厳しい仕様ですが、助かります。

Posted on 7月 12, 2015 at 8:48 午後

最新バージョンとダウンロードURLを取得したい

concrete5の新規インストール等を自動で実施するのに、
最新のバージョン番号と、ダウンロード先のURLが返却されるようなAPIがあったら教えて下さい。

最新バージョンのリリースノートのURLなども一緒に取得できたら良いのですが、
先ずは、バージョン番号とダウンロードURLがあれば嬉しいです。

よろしくお願い致します。

Posted on 7月 12, 2015 at 9:38 午前

Re: リダイレクト

失礼致しました。
自機で確認致しまた。(Apache+concrete5.7.4.2)です。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://xxxxxxx.co.jp/$1 [L,R,NE]
</IfModule>

Posted on 7月 10, 2015 at 6:19 午後

Re: リダイレクト

.htaccessを以下に変更すれば、ご期待の動作に成るかと思います。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^(.*)index.php$http://xxxxxxx.co.jp/$1 [R=301,L]
</IfModule>

ドメインの部分は、実際のドメインに変えて下さいね。

Posted on 7月 10, 2015 at 5:11 午後

Re: リダイレクト

Webサーバの情報とかお判りになりますでしょうか?
また、プリティURLを有効にした際に、.htaccessの設定情報が表示されたと思いますので、
そちらを開示して頂けると、正確な回答ができると思います。

そして、お困り事は具体的にはどういった事でしょうか?

以下、一般的な設定だとした場合の回答に成ります。
1)「xxxxxxx.co.jp」と入力しEnterで、「xxxxxxx.co.jp/index.php」にリダイレクト

こちらは、ドメインの後ろに/を付けないでアクセスした場合、
Webサーバ側から、Locationヘッダーというヘッダー情報がついた、レスポンスが返却されます。このヘッダー情報がついていると、ブラウザーはその通知されたURLにリダイレクト要求をします。(HTTPステータスは302が返っていると思います)
その通知のURLは、「xxxxxxx.co.jp/」と「/」が最後に付いたURLが返却されていると思います。

そして、ブラウザーはWebサーバの要求に応じて「xxxxxxx.co.jp/」にアクセスするのですが、
今度は、DirectoryIndexディレクティブの設定に従って、
「xxxxxxx.co.jp/index.php」等へのリダイレクトが発生していると思います。



2)下層ページ「xxxxxxx.co.jp/sample」と入力しEnterでは、index.phpにリダイレクトされることなく、「xxxxxxx.co.jp/sample」が表示

こちらは、Rewriteルールの設定次第で、そのURLがブラウザーが返却できるコンテンツがある場合は、リダイレクトせずにそのコンテンツを返す
という設定がされていれば、「1」とは挙動が異なる動きを設定できます。
(「1」はドキュメントルートへの要求リクエストですので、厳密にはmod_rewriteによるリダイレクトルールとは別の話しですが)

Posted on 7月 10, 2015 at 1:01 午後