51からまでを表示 (計137) |
以前、『検索ブロックの中で表示するトピック属性の見た目をカスタマイズしたい』という投稿で、トピックリストの表示をカスタマイズする方法を質問しました。
とりあえず見た目は変更出来たのですが、動作の確認をしていると、
この部分は複数の条件を選択して絞り込み検索をして欲しい、というリクエストが来ました……。
トピックリストのように階層化した分類を表示して、なおかつ複数条件にマッチする検索結果を出す必要があるのですが、トピック属性で実現は可能でしょうか?
もしくは、他の属性を使用した方が良いのでしょうか……?
なにか実装のヒントになるものでも頂けるとありがたいです。
Posted on 10月 28, 2017 at 1:03 午後
|
現在制作中のサイトで、トピックリストで表示したリンクをクリックして、
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 午後
|
ページテンプレート内で上記コード試してみたのですが、
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 午後
|
下記のような構成のサイトを開発中です。
トップページ(テーマ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 午後
|
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 午後
|
> さらに、実行前までは検索ブロックでの検索が正常に動いていたのですが、
> 実行後に、同じ検索内容で検索結果が0になってしまいました。
すいません、上記は別の理由のようです……。
他のキーワードで検索してみた所、正常に検索が出来ました。
Posted on 9月 19, 2017 at 11:12 午前
|
構築中のサイトの公開準備をしていたのですが、
自動実行ジョブの、検索エンジンインデックス(すべて、更新どちらも)で、
Invalid argument supplied for foreach()
というエラーが発生しました。
さらに、実行前までは検索ブロックでの検索が正常に動いていたのですが、
実行後に、同じ検索内容で検索結果が0になってしまいました。
バージョンは8.2.1、サーバーはEX-CLOUD(KUSANAGI)です。
ただ、同じ条件で検索エンジンインデックスが生成出来ているサイトもあります。
生成出来ている方は数十ページで、エラーが出ているのは約二千ページありますので、
ページ数がかなり違いますが……。
公開が差し迫っているので、ファイル、もしくはデータベースのどのレコードを消せば、
検索エンジンインデックスが消えるかが分かればありがたいです。
全てのジョブをリセットを実行しても、検索結果が0のまま変わりませんでしたので……。
Posted on 9月 19, 2017 at 10:45 午前
|
上記、継続して調査中ですが、全く同じ内容を別のサーバーに展開して確認した所、エラー発生しなかったので、EX-CLOUD側に原因がありそうです。
現在サポートに問い合わせ中です。
経過ありましたらまた報告いたします。
Posted on 9月 07, 2017 at 2:38 午後
|
現在公開準備中の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 午前
|