登録日
2011年1月15日

メンバー検索

  

kanetei

名前(ニックネーム)
kanetei
自分のconcrete5サイト
http://www.tagworks.jp
ホームページ
http://www.tagworks.jp
自己紹介
concrete5.org のユーザー名
kanetei
concrete5 Slack Team ID
@kanetei
Twitterアカウント
@kanetei
フォーラム総投稿数
86

コミュニティバッジ

エバンジェリスト 宣伝・普及活動を行っていただいている concrete5 の伝道師です!エバンジェリストについて
WEB 編集メンバー concrete5 のヘルプドキュメント編集を手伝っていただいている方です。どなたでも参加できます。詳しくはconcrete5 コミュニティ活動のお誘いへ。
ローカルグループリーダー concrete5 ローカルグループのまとめ役をしている方です。勉強会やイベントを開催していただけるのであれば誰でもなることができます。詳しくはconcrete5 コミュニティ活動のお誘いへ。

投稿

1から10までを表示 (計86)

トップページで、トピックリストの絞り込みをすると404になる

現在制作中のサイトで、トピックリストで表示したリンクをクリックして、

http://www.example.com/topic/3327/notice

上記に移動した際に、404ページが表示してしまいます……。

下層ページで同じトピックリストを使用しているのですが、

http://www.example.com/news/topic/3327/notice

こちらは問題なく表示しています。

また、この現象、2日前は発生しておらず、
その間にテーマもサーバーの設定も変更はしていないはずなのですが、
今日になってこのような現象が起こっています……。

http://www.example.com/topic/ というページが作成されたのか、とも思いましたが、そんなページは作成されていませんでした。

上記、どんな理由が考えられるのでしょうか……?

Posted on 10月 13, 2017 at 12:45 午後

Re: テーマ内でPageListオブジェクトを使用して表示した結果を、トピックの絞り込みに対応させたい

ページテンプレート内で上記コード試してみたのですが、

Call to undefined method Concrete\Core\Page\View\PageView::get()


と、getはない、というようなエラーが出ました……。

とりあえず、あまり良い方法ではないとは思いますが、
URLから数字を取得して処理するようにしました。


$urls = explode('/', $_SERVER["REQUEST_URI"]);
if(array_search('topic', $urls)) {
foreach($urls as $url) {
if(ctype_digit($url)) {
$list->filterByTopic($url);
}
}
}


上記で絞り込みが出来た事は確認しています。

Posted on 10月 13, 2017 at 12:35 午後

テーマ内でPageListオブジェクトを使用して表示した結果を、トピックの絞り込みに対応させたい

下記のような構成のサイトを開発中です。

トップページ(テーマA)
-ニュース(テーマA)
--ニュース詳細(テーマA)
--ニュース詳細(テーマA)
--……
-A部署のトップページ(テーマB)
--ニュース(テーマB)
---ニュース詳細(テーマB)
---ニュース詳細(テーマB)
--……
-B部署のトップページ(テーマC)
--ニュース(テーマC)
---ニュース詳細(テーマB)
---ニュース詳細(テーマB)
--……
-……

下層に別のテーマを適用した部署ごとのページがあり、それぞれにニュースが投稿できるようになっています。
ニュース詳細ページは、微妙に内容が異なるため、
・ページタイプはそれぞれ別
・ページテンプレートは共通
という実装にしています。

全体のトップページには、すべての部署のニュース一覧を表示する必要があるため、
テーマのページテンプレート内で、PageListオブジェクトを取得して、
ページテンプレートでフィルターをして表示させました。


$template = Concrete\Core\Page\Template::getByHandle('news_detail');

$list = new \Concrete\Core\Page\PageList();
$list->sortByPublicDateDescending();
$list->filterByPageTemplate($template);

$list->setItemsPerPage(5);
$pagination = $list->getPagination();
$pages = $pagination->getCurrentPageResults();


参考:
http://concrete5-japan.org/help/5-7/developer/working-with-pages/searching-and-sorting-with-the-pagelist-object/

表示はこれで出来たのですが、ニュース一覧をトピックで絞りこみする必要があり、
実装に行き詰っています。


$list->filterByTopic(3328);


と、filterByTopicにトピックのIDを入れることで絞り込めることはわかったのですが、
トピックをクリックしたときのURL、

http://example.com/news/topic/3327/notice

上記から、どのようにトピックのIDを取得すればよいかが分かりません……。

上記、方法知っている方がいらっしゃいましたら、ご教授ください。

Posted on 10月 11, 2017 at 2:53 午後

Re: 検索ブロックの中で表示するトピック属性の見た目をカスタマイズしたい

KMiura様

ご返答ありがとうございます。
こちらでも、トピックリストのview.phpを参考にして、直接検索ブロックのview内にトピックの出力を試している所です。
作業落ち着きましたらこちらで共有します。

Posted on 10月 11, 2017 at 2:14 午後

検索ブロックの中で表示するトピック属性の見た目をカスタマイズしたい

検索ブロックを使用して、商品検索の画面を作成中なのですが、

- 商品分類1
-- ブランドで探す
--- トピック
--- トピック
--- トピック
-- 素材で探す
--- トピック
--- トピック
-- 作りたいもので探す
--- トピック
--- トピック
- 商品分類2
-- トピック
-- トピック
-- トピック
- 商品分類2
-- トピック
-- トピック
-- トピック

上記のような階層構造で商品のカテゴリー分けが必要なため、トピックで実装しています。

検索画面へのトピックリストの表示は、


$ak = CollectionAttributeKey::getByHandle('product_brand');
$ak->render('search');


上記コードで問題なくできたのですが、見た目をデザインに合わせる必要があります。

どうやって表示しているのかを調べたところ、
/concrete/attributes/topics/search.php
ここで検索用のトピックリストを生成していることはわかったのですが、
JavaScriptで生成しているので、どのようにカスタマイズすればよいのかが分かりません……。
JavaScriptの本コードは /concrete/js/build/core/tree.js というのは分かるのですが。

http://notnil-creative.com/blog/archives/2219

上記の選択(select)タイプのページ属性のように、参考になるコードがあれば修正できそうなのですが……。
どなたかご存じな方はいらっしゃいますでしょうか?

Posted on 9月 27, 2017 at 7:32 午後

Re: 自動実行ジョブ 検索エンジンインデックスでエラー(Invalid argument supplied for foreach())

> さらに、実行前までは検索ブロックでの検索が正常に動いていたのですが、
> 実行後に、同じ検索内容で検索結果が0になってしまいました。
すいません、上記は別の理由のようです……。
他のキーワードで検索してみた所、正常に検索が出来ました。

Posted on 9月 19, 2017 at 11:12 午前

自動実行ジョブ 検索エンジンインデックスでエラー(Invalid argument supplied for foreach())

構築中のサイトの公開準備をしていたのですが、
自動実行ジョブの、検索エンジンインデックス(すべて、更新どちらも)で、

Invalid argument supplied for foreach()

というエラーが発生しました。
さらに、実行前までは検索ブロックでの検索が正常に動いていたのですが、
実行後に、同じ検索内容で検索結果が0になってしまいました。

バージョンは8.2.1、サーバーはEX-CLOUD(KUSANAGI)です。
ただ、同じ条件で検索エンジンインデックスが生成出来ているサイトもあります。
生成出来ている方は数十ページで、エラーが出ているのは約二千ページありますので、
ページ数がかなり違いますが……。

公開が差し迫っているので、ファイル、もしくはデータベースのどのレコードを消せば、
検索エンジンインデックスが消えるかが分かればありがたいです。
全てのジョブをリセットを実行しても、検索結果が0のまま変わりませんでしたので……。

添付: server.txt
Posted on 9月 19, 2017 at 10:45 午前

Re: 特定のメールアドレスに、concrete5から外部フォーム等のメールが送信出来ない

上記、継続して調査中ですが、全く同じ内容を別のサーバーに展開して確認した所、エラー発生しなかったので、EX-CLOUD側に原因がありそうです。
現在サポートに問い合わせ中です。
経過ありましたらまた報告いたします。

Posted on 9月 07, 2017 at 2:38 午後

特定のメールアドレスに、concrete5から外部フォーム等のメールが送信出来ない

現在公開準備中のWebサイトで、
外部フォームで作成したメールフォームの送付先をお客様のメールアドレスに変更した所、
メールが届かないという連絡がありました。

管理画面のレポート→ログで、メール送付時に例外エラーが発生していることを確認したのですが、


メールの例外が発生しました。メールが送信できません:Unable to send mail: Unknown error
#0 (): Zend\Mail\Transport\Sendmail->mailHandler()
#1 /home/kusanagi/excloud/DocumentRoot/concrete/vendor/zendframework/zend-mail/src/Transport/Sendmail.php(138): call_user_func()
...

というように、ZendFramework側でエラーが出ているようで、
どこを修正すれば良いのかが分かりません……。

また、現在サイト内には外部フォームが2つあるのですが、
info@example.com ← メール送付出来る
gallery@example.com ← メール送付出来ない
と、同一のドメインで、メール送付の結果が変わってしまっています。
システムと設定→Eメール→SMTPメール送信方法→設定テスト
上記からメールを送付して見たのですが、
送付出来ないメールアドレスの方は、
テストメール送信中に次のエラーが発生しました:
Unable to send mail: Unknown error

と、ログに発生しているのと同様のエラーで送付が出来ませんでした。

念のため、お客様の方にメールアドレスが存在している事は確認済みです。

動作環境は、EX-CLOUDにインストールしたconcrete5で、
バージョンは8.1.0、PHPは5.6.99-hhvmです。

このような現象が発生した場合、どのように調査すれば良いのでしょうか……?
環境情報等はファイルにて添付します。
(一部案件名が分かる所は消しております)

Posted on 9月 04, 2017 at 11:27 午前

Re: concrete5の特定ページ一覧をJSONPで出力したい

自己解決しました。
JSONPの出力は、別の出力方法に書き換えることで実現出来ました。
ページのURLは、'$nh->getCollectionURL(Page::getByID($otherpage))'で取得出来ました。

http://gist.github.com/kanetei/641ce783a5641a04d3d93a6c1e5dce93

Posted on 8月 24, 2017 at 1:16 午後