181からまでを表示 (計201) |
axleさん
header_required.phpをオーバライドする方法は、お望みじゃないかも知れませんが、
オリジナルの40〜65行目を以下に替えてみました。(動作未検証です)
<meta charset="UTF-8">
<?php
$akd = $c->getCollectionAttributeValue('meta_description');
$akk = $c->getCollectionAttributeValue('meta_keywords');
$w_akd = "";
if ($akd) {
$w_akd = ',' . htmlspecialchars($akd, ENT_COMPAT, APP_CHARSET);
}
$w_akk = "";
if ($akk) {
$w_akk = ',' . htmlspecialchars($akk, ENT_COMPAT, APP_CHARSET);
}
$w_tag = "";
if($options instanceof SelectAttributeTypeOptionList && $options->count() > 0) {
$w_tag = implode(',', $options);
}
$w_pageTitle = htmlspecialchars($pageTitle, ENT_COMPAT, APP_CHARSET);
$w_site = htmlspecialchars(SITE, ENT_COMPAT, APP_CHARSET);
?>
<meta name="keywords" content="★<?php echo $w_akk ?>" />
<meta name="description" content="★<?php echo $w_akd ?>" />
<meta name="viewport" content="width=device-width">
<meta property="og:type" content="article" />
<meta property="og:title" content="<?php echo $c->getCollectionName(); ?>" />
<meta property="og:description" content="★<?php echo $w_akd ?>">
<meta property="og:image" content="http://~.png" >
<meta property="og:url" content="http://~.html">
<meta property="fb:app_id" content="0000000000000000" />
<title><?php echo $c->getCollectionName(); ?>|<?php echo $w_tag ?>|<?php echo $w_site ?></title>
ただ、動作させた訳ではないので、動かなかったらごめんなさい。
既存のPHPファイルにも参考になるロジック(CMS上のデータを取得する方法)が
沢山あるので、参考にされると良いと思います。
Posted on 12月 19, 2014 at 1:32 午後
|
axleさん
”デフォルトのtitie表記ルールを任意の形式に変えたい&titleタグやmetaタグのHTMLソースを任意の位置(順)表示したい”
この部分、もう少し具体的に教えて頂けますでしょうか?
例えば、metaタグも、ogpを設定したいとか、あると思います・・・
Posted on 12月 19, 2014 at 7:23 午前
|
hissyさん
有り難う御座いました!
ほぼ教えて頂いた通りで、無事に変更出来ました。
/concrete/single_pages/login.php を
/single_pages/custom_login.php にコピー
こちらは内容変更無しでいけると思います
ここだけ、phpスクリプト内にpathがコーディングされていたので、
その部分を/custom_login
に変更する必要がありました。
それ以外は、教えて頂いた通りの修正で大丈夫でした。
Posted on 12月 10, 2014 at 9:58 午後
|
hissyさん
有り難うございます。
サーバ側の設定(RewriteRuleなど)で対処する方法などでも構いませんので、
良い(よりスタンダードな)方法があれば、展開頂けると幸いです。
Posted on 12月 10, 2014 at 9:09 午後
|
concrete5での管理画面ログイン用URLが固定URLと成っている為、
第三者にアクセス出来ないよう、URLを変更したいと考えています。
concrete5をインストール後、以下の変更を行ない、
変更したURLでログイン画面へのアクセスとログイン動作は可能と成ったのですが、
この修正対処で、他への不具合が発生しないか、
ご存知の方がいらっしゃいましたら教えて頂けないでしょうか?
-- 環境 --
# concrete5 Version
5.6.3.2
1)DB内情報の更新
テーブル:PagePaths
カラム:cPath
検索条件:`cPath` like '%Login%'
上記で検索したレコードのcPath欄に記載されているパスを
設定したいログイン画面のパスに変更する。
2)configの変更
ファイル:/concrete/config/theme_paths.php
に記載されているログインパスを、設定したいログイン画面のパスに変更する。
$v->setThemeByPath('/login', VIEW_CORE_THEME);
※このファイルは、
/config/theme_paths.php
にコピーしたファイルを編集しても有効に成らなかったので直接編集したのですが、
オーバーライドが出来ないファイルという理解で正しいでしょうか?
3)login.phpの変更(オーバーライド)
ファイル:/concrete/single_pages/login.php
を
/single_pages/login.php
にコピーし、ファイル中のパス記載箇所(10箇所)を
設定したいログイン画面のパスに変更する。
以上、宜しくお願い致します。
Posted on 12月 10, 2014 at 8:54 午後
|
少し古く成ってしまっていますが、追記させて頂きます。
改善点は、エリアが複数に成る事がない前提で、switch文で判定しています。
また、クエリーストリングでパラメータを取得するので、
switch文で型判定(文字列)もしています。
ただし、クエリーストリングは、同一パラメータを付与出来てしまう為、
同一パラメータに対する処理も考慮した方が良いかも知れません。
$area = isset($_GET['area']) ? $_GET['area'] : '';
switch (true) {
case $area === 'a':
$a = new Area('Main_A');
$a->display($c);
break;
case $area === 'b':
$a = new Area('Main_B');
$a->display($c);
break;
case $area === 'c':
$a = new Area('Main_C');
$a->display($c);
break;
default:
}
Posted on 12月 08, 2014 at 10:49 午後
|
検索サイトも確かに、考えられますね?
企業の商品ページなども、分類が複数カテゴリに該当する商品などは、
導線が複数用意される事が想像できますね?
こういった場合は、パンくずで、サイト内導線を確保するのではなく、
着地するページ内に関連ページ一覧や上位ページ一覧を表示させるような、
サイト設計が必要かも知れませんね?
Posted on 12月 08, 2014 at 8:39 午後
|
先ずは、結果からご報告です。
・セッショに保持
・URLパラメータで判断
等のアドバイスを頂いき、セッションに持とうかな?と思ったものの、
セッションをクリアするタイミング等を考えると、やっかいだったので、
結果的には、リファラー情報を参照し、
リファラーが(同一サイト内で遷移していて)特定のpathだった場合、
パンくずに 途中導線を追加する
という実装にしてしまいました。
この方法ですと、path情報やページ名等をハードコーディングしてしまうので、
concrete5のスマートさを失ってしまい、かっこ悪いのですが・・・
$navItem に登録されている情報が、自分自身のページ情報
だけなので、ここをもう少し拡張して、直前のページ情報も保持できるようにしたら、
スマートなロジックに出来るかも知れませんが、今の私には無理でした。
ページハンドル名の取得方法など、もう少し勉強してみます。
Posted on 12月 08, 2014 at 8:33 午後
|
hissyさん
ご回答、有り難う御座いました。
セッション管理がスマートですね。
ちょっと、頑張ってみたいと思います。
ちょっと、話しはそれますが、自分の周りで、パン屑リストは、
・サイトマップ通りが良い派
・導線通りが良い派
が分かれています。
concrete5の話題とは違いますが、この辺の考え方はどちらが一般的でしょうかね?
私は、ユーザ導線を尊重したいので、
・導線通りが良い派
ですが、ページの所属を明確に成るので、
・サイトマップ通りが良い派
の主張も理解できるので。
Posted on 12月 08, 2014 at 3:35 午後
|
複数ページから共通に遷移するページXがあります。
このページAに着地した時のパン屑リストの表示について、ご質問させて下さい。
−− 環境 −−
環境について未記載でしたので、追記させて頂きます。
# concrete5 Version
5.6.3.2
−− 環境 −−
サイトマップは
ホーム ┳ ページA ━ ページXa(ページXのエイリアス)
┣ ページB ━ ページXb(ページXのエイリアス)
┗ ページX(ナビ非表示設定)
と成っています。
このサイトマップで
ページXa に着地している場合は、
パン屑リストを ホーム > ページA
・・・表示ケース(ア)
ページXb に着地している場合は、
パン屑リストを ホーム > ページB
・・・表示ケース(イ)
と表示したいのですが、現状では
パン屑リストは ホーム
・・・表示ケース(ウ)
と表示されます。
他サイトから「ページX」に直接リンクされていた場合は、
表示ケース(ウ)として、パン屑リストが表示されても良いのですが、
サイト内を回遊しているユーザには、直前に居たページをパン屑リストに表示したいと考えています。
どのような設定or開発をすればいいか、アドバイス頂けないでしょうか?
もしくは、サイトマップの設定で対応できるのであれば、その方法について、アドバイス頂けると幸いです。
Posted on 12月 08, 2014 at 11:27 午前
|