多言語サイトでテンプレートに自動タグで静的ページの内容を読み込む方法

Geeklog
投稿者: 表示回数1,459 印刷用ページ
テンプレートに、自動タグで、静的ページの内容を読み込む場合は、以下のように記述します。
{!!autotag staticpage_content:XXXXX !!}
多言語サイトでテンプレートに記述する際に、自動タグで言語別に用意された静的ページ"XXXXX_言語ID"の内容を読み込む場合に以下のようにすると、対応した言語のコンテンツを読み込むことができます。
<?php echo PLG_replaceTags('[staticpage_content:XXXXX_'.COM_getLanguageId().']'); ?>

dataBox 検索について

Geeklog
投稿者: 表示回数1,465 印刷用ページ

データのAND検索、OR検索機能が追加されましたが一部説明を追加します。

テーマは、/layout/テーマ/databox/にアップロードして、コンフィギュレーションにてテーマのパスを標準からテーマ に切り替えて利用すると便利です。

さて、検索関係は、以下のディレクトリにテンプレートがあります。

/layout/テーマ/databox/templates/search/default

テンプレートファイルの役割:

argument.thtml
検索form
col_detail.thtml
検索結果のデータのコンテンツ 通常category のcol_detail.thtmlをそのままコピーすればOK
headercode.thtml
ogpをセット。すべてのアトリビュートをここに記述できるので、og:imageなどセットできます。
list_detail.thtml
検索結果がある場合のページ全体のレイアウト
navigation_detail.thtml
検索結果の要素をリスト
nohit.thtml
検索結果が無い場合のページ全体のレイアウト
pagenavigation.thtml
ページナビゲーション
row.thtml
要素の1行区切り 通常空白

argumant.thtml 補足

OR検索の場合

<!--gor_X カテゴリグループid=Xのカテゴリを複数指定する OR条件 -->
{gor_X}<input name="gor_X[]" value="" type="hidden">

AND検索の場合

<!--gand_X カテゴリグループid=Xのカテゴリを複数指定する AND条件 -->
{gand_X} <input name="gand_X[]" value="" type="hidden">

※X: Group ID(1,2,3.... )

自動タグ: [ databox:search 検索の引数(ただし[]部を除く)]

検索自動タグを静的ページに記述するdemo:

https://www.ossj.jp/staticpages/index.php/oss

dataBox を含んだGeeklog一式のダウンロードはこちらから。

https://github.com/ivywe/geeklog-ivywe

なお、/layout/テーマ/databox/templates/search/defaultは、/layout/テーマ/databox/templates/search/にdefaultを元に複数テーマを追加することができます。

UIkitをBootstrapテーマの管理画面やUIkitを使っているMediagalleryだけに追加する

Geeklog
投稿者: 表示回数2,083 印刷用ページ
UIkitをBootstrapテーマの管理画面やUIkitを使っているMediagalleryだけに追加する場合は、以下のようにheader.thtml footer.thtmlに記述します。
<?php $url_current = COM_getCurrentURL(); if( ( strpos( $url_current,
'/admin/' ) !== false ) ||  (strpos( $url_current,
'/mediagallery/' ) !== false ) ){ ?>

<!-- /admin/ や/mediagallery/ では呼びたい、UIkitなどのCSSやJS -->
<link rel="stylesheet" href="{layout_url}/vendor/uikit/css/uikit-ivywe.css"{xhtml}> 


<?php } else { ?>

<!-- /admin/では呼びたくない、BootstrapなどのCSSやJS -->

<?php } ?>

Geeklogのsite_urlを複数で表示するためのhack

Geeklog
投稿者: 表示回数2,089 印刷用ページ

EasySCPを活用したサーバーでは、ドメインに対して代替URLを提供しています。

開発中のサイトをリニューアル公開以前には、代替URLを活用して表示できます。

両方で表示できるためのハックはこちら。

lib-common.phpの100行目あたりを変更します。

from:

$_CONF = $config->get_config('Core');
to:

$_CONF = $config->get_config('Core');

if (strpos($_CONF['site_url'], $_SERVER['SERVER_NAME']) === false) {
 if (strpos($_SERVER['SERVER_NAME'], 'vu20XX.admin.XXX.com') !== false) {
  $substitute_domain='vu20XX.admin.XXX.com';
  $_CONF['site_url']          = 'http://'.$substitute_domain;
  $_CONF['site_admin_url']    = 'http://'.$substitute_domain.'/admin';
  $_CONF['layout_url']        = 'http://'.$substitute_domain.'/layout/'.$_CONF['theme'];
  $_CONF['site_disabled_msg'] = 'http://'.$substitute_domain.'/japanize/disabledmsg.html';
  $_CONF['cookiedomain'] = empty($_CONF['cookiedomain']) ? '' : str_replace($_SERVER['SERVER_NAME'], $substitute_domain, $_CONF['cookiedomain']);
 }
}

外部リンクのクリック数を解析する

Geeklog
投稿者: 表示回数2,128 印刷用ページ

バナープラグインを設置すると、ランダムバナーが利用できるようになります。

バナーのレイアウトを自由に設定できて便利ですが、バナーに自由にHTMLを記述できるようにしたことから、クリック数のカウントの機能は途中から無くなってしまいました。

バナーなので、外部リンクのクリック数をカウントしたい。そのようなときは、以下のように、仮想敵ページに遷移させることにより、Google解析を利用してカウントすることが可能です。

クリック数をカウントしたいリンクを以下のように変更します。

<a href="http://example.com" onclick="javascript:_gaq.push(['_trackPageview', '/example-link']);">外部リンク</a>

参考ページ:

http://techmemo.biz/web-cheat-sheet/googleanalytics-count-external-link/

多言語サイト作成時の参考URL

Geeklog
投稿者: 表示回数1,628 印刷用ページ
ロケール
http://lh.2xlibre.net/locales/

日時ロケール
http://lh.2xlibre.net/values/d_t_fmt/

日付ロケール
http://lh.2xlibre.net/values/d_fmt/

ロケールの影響を受ける動作
http://docs.oracle.com/cd/E26924_01/html/E27144/glmde.html
・時刻の書式
・日付の書式
・数値の書式
・通貨の国際書式

Geeklogで多言語サイトを作成する
http://wiki.geeklog.jp/index.php?title=多言語切り替え



HTML5 のテーマのhtml属性とhead属性他

Geeklog
投稿者: 表示回数1,355 印刷用ページ

GeeklogでHTML5テーマを開発する場合に、注意する点は以下です。

1.functions.phpでHTML5を宣言

1.functions.phpのfunction theme_config_テーマ名()を以下のように修正してください。コンフィギュレーションのテーマでのDOCTYPE宣言よりこちらを優先します。

function theme_config_テーマ名()
{
    return array(
        'image_type' => 'png',
        'doctype' => 'xhtml5',
        'etag' => true,
        'supported_version_theme' => '2.1.0' 
    );
}

2. header.thtml

HTML5では、html タグは、xlmns属性が不要になりました。
{doctype}
<html{html_attribute}>
<head>
なお、本家版は{lang_attribute}です。{html_attribute}は日本語版のみが提供するテーマ変数です。
{doctype}
<html{lang_attribute}{xmlns}>
<head>
以下HTML5ではデフォルトとなるため不要です。
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">