登録日
2014年1月11日

メンバー検索

  

astra31

名前(ニックネーム)
Abel
自分のconcrete5サイト
http://mobaju.com/
ホームページ
http://worktoolsmith.com/
自己紹介
いろいろなCMSやPHPフレームワークをさわってます。

稼ぐためのすばやいサイト作りを研究しています。
concrete5.org のユーザー名
concrete5 Slack Team ID
Twitterアカウント
@LandscapeSketch
フォーラム総投稿数
22

コミュニティバッジ

投稿

11から20までを表示 (計22)

Re: ブロックからページタイトルを変えられますか?

とんでもないです!
また次回もアドバイスお願いします。

Posted on 5月 01, 2014 at 5:49 午後

Re: ブロックからページタイトルを変えられますか?

ひとまず下記の方法で解決しました。

パッケージのelementにheader_required.phpのクローンを入れ、title部を再定義(非表示オプションを追加)
検索ブロックからaddHeaderItemで商品名を出力

で落ち着きました。

Posted on 5月 01, 2014 at 11:44 午前

Re: ブロックからページタイトルを変えられますか?

ブロックの controller から on_page_view で出力を試しました。

$this->addHeaderItem('<title>aaa</title>');

として出力したのですが、これ自体はOKでした。
が、Concrete5が出力するtitleタグとダブって2つ出力されていまいました。

メインの出力を止める方法はあるのでしょうか?

Posted on 5月 01, 2014 at 1:29 午前

Re: ブロックからページタイトルを変えられますか?

hissyさん、katz515さん、ご返信ありがとうございます。

まず試した結果ですが、
$page = Page::getCurrentPage();
$page->setAttribute('meta_title', $product->title);
としてメタキーに書き込む方法を試しました。

これはページ読み込み後に値がセットされるため、
 1回目の表示 > 変わってない
 2回目の表示 > 前回の商品名が表示される
という動作になってしまいました。


つぎにkatzさんの方法を試しました。

<?php Loader::element('header_required', array('pageTitle' => $product->name )); ?>

としてLoaderで読み込ませてみました。

定数('aaa'など)ならば希望通りの動作になったものの、ブロック内のデータを使用する場合(上記のように $product->name にした場合)ではダメでした。

ブロックがレンダリングされたあとに$productsが設定されるため、ヘッダー読み込み時にはnullとなっていました。



商品ページだけ専用のテーマを作るしかないのかな、という感じです。

トリッキーな方法でもかまいませんので他にあればヒントをお願いします。

Posted on 5月 01, 2014 at 1:01 午前

ブロックからページタイトルを変えられますか?

毎度質問ですみません。

自作の「商品検索ブロック」があるのですが、検索された商品名をタイトルに入れたいと思います。(単一)
(ブロックからページ属性をいじるのはかなり特殊だとは思いますが)

ページタイトルはページ属性で指定できると思いますが、ロジックから入力することは可能ですか?
PageのsetPropertiesFromArrayというメソッドがありますが、これをどうにかすればできるのでしょうか?

ご存じの方がいらしたらお教え下さい。

Posted on 4月 30, 2014 at 9:49 午前

Re: Re: 複数のブロックで共通のライブラリ

試してみました。

composerから pkg/libraries/3rdparty/ にインストールするよう設定し、
インストール後に
Loader::library('3rdparty/autoload', 'pkg');
としてcomposerのautoload.phpを呼んだところ、
正常に動作しました。

これで行けそうです。

Posted on 4月 30, 2014 at 5:41 午前

Re: Re: 複数のブロックで共通のライブラリ

詳細ありがとうございます。
読み込み方法もよくわかりました!

composerを使うとなると、パッケージを作ってその中に押し込めて、
独自に呼び出したほうがスマートそうですね。

依存ライブラリが2~3あるとメンテが煩雑になりそうな感じです。

Posted on 4月 30, 2014 at 4:23 午前

Re: 複数のブロックで共通のライブラリ

返信ありがとうございます。

場所はよくわかりました。

読み込み方法を考えないといけないようですね。

Posted on 4月 30, 2014 at 3:37 午前

複数のブロックで共通のライブラリ

こんにちは。

ブロックを4つ作ったのですが、それぞれで同じPHPライブラリを使いたいと考えています。
この場合、ライブラリはどこに設置するのがベストなのでしょうか?
ライブラリはcomposerを使用してインストール予定です。

Posted on 4月 30, 2014 at 2:59 午前

Re: ダッシュボードで全て閉じた時にメインを表示してほしい

ですよね!
QNapのNASのように何枚もウィンドウが開くならわかりますが、
どの項目を開いても結局1画面しか開きませんからね・・・

最近のWordPressの画面が非常に見やすいので、
Concrete5も見なおしてほしいです。

Posted on 4月 24, 2014 at 5:54 午前