ありがとうございます。
greek Yogurをダウンロードして
greek Yogurt →elements→header.php
下記を変更
<?php
$a = new GlobalArea('Site Name2');
$a->display();
?>
そのページのみロゴを変更出来たのですが
全体公開をすると反映されません。
もちろん編集を更新しています。
管理者のみ反映される状態です。
何か間違っているのでしょうか?
ヘッダーロゴ(画像)を各ページ違うものを使用したい。
2012年6月24日 at 0:43
サーバー
さくらインターネットスタンダードを使用
バージョン
concrete5.5.2.1
ヘッダーを画像に変更は出来ましたが
(フォーラムを参考にスタックでMy_Site_Name作成)
各ページに違うロゴを表示させることは可能でしょうか?
たとえば某化粧品会社などトップは会社のロゴですが
商品ページはその商品名のロゴがヘッダーロゴに表示しているみたいに
出来るのでしょうか?
よろしくお願いいたします。
タグ:
Re: ヘッダーロゴ(画像)を各ページ違うものを使用したい。
2012年6月25日 at 6:17
その方法だと、全ページのヘッダーが Site Name2 というエリアになってしまうので意味が無いと思います…。
たとえば default.php を複製して hoge.php というテンプレートを作成し、 [code]$this->inc('elements/header.php');[/code] の部分を [code]$this->inc('elements/header2.php');[/code] と変更します。この状態で hoge というハンドルのページタイプの場合のみ、ヘッダーにheader2.phpの方が使われます。
「反映されない」系の症状は、とりあえずキャッシュをクリアしてみるようにしてください。
[管理画面 → システム&設定 → キャッシュをクリア]です。
たとえば default.php を複製して hoge.php というテンプレートを作成し、 [code]$this->inc('elements/header.php');[/code] の部分を [code]$this->inc('elements/header2.php');[/code] と変更します。この状態で hoge というハンドルのページタイプの場合のみ、ヘッダーにheader2.phpの方が使われます。
「反映されない」系の症状は、とりあえずキャッシュをクリアしてみるようにしてください。
[管理画面 → システム&設定 → キャッシュをクリア]です。
Re: ヘッダーロゴ(画像)を各ページ違うものを使用したい。
2012年7月2日 at 10:29
ブラウザの一時ファイルはあまり関係ないと思います。concrete5のキャッシュが原因であることがほとんどです。開発中はキャッシュをオフにしておくのもいいでしょう。
ブラウザの一時ファイルを消去する際にcookieも消去してしまうと、ログイン情報が引き継がれませんので、ログイン画面になります。
ブラウザの一時ファイルを消去する際にcookieも消去してしまうと、ログイン情報が引き継がれませんので、ログイン画面になります。
Re: ヘッダーロゴ(画像)を各ページ違うものを使用したい。
2012年7月18日 at 15:07
お使いのテーマによって異なるのですが、greek Yogurtの場合header.php に
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getStyleSheet('main.css')?>" />
と書かれている部分があります。このmain.css を hoge.css に変更すれば適用されます。
しかし、header.php は、同じテーマのすべてのページタイプで読み込まれているのですべてのページタイプに適用されてしまいます。
特定のページタイプのみのCSSを適用する場合は
・独自にheader1.phpなどを別途用意して、$this->inc('elements/header1.php')に変更する。
・別のテーマとして作成する。
・hoge.php の タグのid名またはclass名を他のページタイプとかぶらない名前にし、main.cssに書き込む。
のどれかではないかと思います。
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getStyleSheet('main.css')?>" />
と書かれている部分があります。このmain.css を hoge.css に変更すれば適用されます。
しかし、header.php は、同じテーマのすべてのページタイプで読み込まれているのですべてのページタイプに適用されてしまいます。
特定のページタイプのみのCSSを適用する場合は
・独自にheader1.phpなどを別途用意して、$this->inc('elements/header1.php')に変更する。
・別のテーマとして作成する。
・hoge.php の タグのid名またはclass名を他のページタイプとかぶらない名前にし、main.cssに書き込む。
のどれかではないかと思います。
Re: ヘッダーロゴ(画像)を各ページ違うものを使用したい。
2012年7月19日 at 12:27
hissy さんのやり方は、header.php の中に記述している GlobalArea の方法ですね。
それ以外のアプローチもあります。
「ページ属性」を利用した方法。(対象:初級レベル)
・そのページの持つ属性にサムネイルなどの画像を持たせる事。
・本来の使用方法は、ブログなどのサムネール機能の事。
手順:
1、ダッシュボード⇒ページとテーマ⇒ページ属性管理で、新規に属性を追加する。
2、「ページ属性管理」のところで・・・「新規属性の追加」(選択:画像とファイル)
3、ハンドル:product_logo / 名前:Product-Logo (新規属性の編集ー任意名でOK!)
設定:なし / 検索可能チェックの部分・・・任意
4、新しく作成したページへ行くか・・・ダッシュボード⇒サイトマップにて。
ページ設定⇒「カスタム属性」⇒作成された属性を追加(Product-Logo)
ここで、ページごとに画像が選べることが出来るので、好きなロゴ画像を選択追加。
(プロダクト用の画像やロゴをあらかじめ用意しておく事。)
5、ご使用のテーマファイルのちょっとした php の追加。
(例:YouThemes / default.php または、left-sidebar.php とか・・・)
※注意事項:新しく作成したページタイプの場合は、
ダッシュボード⇒ページとテーマ⇒テーマ:選択されているテーマ⇒チェックにて
テーマの検査で、新規作成した「ページタイプ」を有効化させること!
上記のスクリプトをロゴを置きたい場所に記述する。はい出来上がり♪
それぞれのページごとにまるで、商品名やロゴなどが切り替わるようになります。
それ以外のアプローチもあります。
「ページ属性」を利用した方法。(対象:初級レベル)
・そのページの持つ属性にサムネイルなどの画像を持たせる事。
・本来の使用方法は、ブログなどのサムネール機能の事。
手順:
1、ダッシュボード⇒ページとテーマ⇒ページ属性管理で、新規に属性を追加する。
2、「ページ属性管理」のところで・・・「新規属性の追加」(選択:画像とファイル)
3、ハンドル:product_logo / 名前:Product-Logo (新規属性の編集ー任意名でOK!)
設定:なし / 検索可能チェックの部分・・・任意
4、新しく作成したページへ行くか・・・ダッシュボード⇒サイトマップにて。
ページ設定⇒「カスタム属性」⇒作成された属性を追加(Product-Logo)
ここで、ページごとに画像が選べることが出来るので、好きなロゴ画像を選択追加。
(プロダクト用の画像やロゴをあらかじめ用意しておく事。)
5、ご使用のテーマファイルのちょっとした php の追加。
(例:YouThemes / default.php または、left-sidebar.php とか・・・)
※注意事項:新しく作成したページタイプの場合は、
ダッシュボード⇒ページとテーマ⇒テーマ:選択されているテーマ⇒チェックにて
テーマの検査で、新規作成した「ページタイプ」を有効化させること!
<?php
$imgHelper = Loader::Helper('image');
if($c->getAttribute('product_logo')) {
$imgHelper->outputThumbnail($c->getAttribute('product_logo'),100 ,100);
}
?>
※注意事項:ハンドル:product_logo 名を作成したハンドル名とあわせる。
上記のスクリプトをロゴを置きたい場所に記述する。はい出来上がり♪
それぞれのページごとにまるで、商品名やロゴなどが切り替わるようになります。
Your post has been saved and will be published after approval by the forum moderator.
takuro hishikawa
Re: ヘッダーロゴ(画像)を各ページ違うものを使用したい。
デフォルトのGreek Yogurtテーマを例にお話しますが、タイトル部分はSite Nameというグローバルエリアになっています。このSite Nameというグローバルエリアの内容は全ページに反映されますが、一部のみ変更したいという場合、テーマ内にテンプレートを一つ増やして、そのテンプレートではSite Nameというグローバルエリアを使わずSite Name 2という別の名前にしてしまえば、違うものを表示することができます。Site Name 2という名前は例えば、です。concrete5のテーマファイルではいくつでも好きにエリアを増やせます。
詳しくは ヘルプ > テーマの仕組みとデザイン > テーマのつくり方 を一度読んでみてください。