jQuery:「bxSlider」を使用してスライドショーする方法

jQueryのプラグイン「bxSlider」を使用してスライドショーを設置した時の方法をメモします。

色々なサイトでメインの画像などをスライドさせて出力しているのをよく目にします。

「bxSlider」を使用すれば、画像やコンテンツ等のスライドショーを簡単に実現することが可能です。
また、オプションも色々あるのでスライド、フェード、ページャーなど自由に設定することができます。

下記サイトのDownloadボタンからダウンロードします。

http://bxslider.com/

下記にjQueryの「bxSlider」プラグインを使用して、画像やコンテンツをスライドショーした時の使用方法を記述します。


■ bxSliderの使用方法

【読み込むファイル】

jQueryとダウンロードしたbxSliderを読み込みます。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.bxslider.min.js"></script>
<link href="jquery.bxslider.css" rel="stylesheet" />

【js】

<script type="text/javascript">
$(document).ready(function(){
    $('.bxslider').bxSlider({
        auto: true,
        speed: 1000,
        pause: 2000
    });
});
</script>

自動でスライドするように「auto: true」を指定しています。
指定がない場合はスライドしないです。
「speed」や「pause」でスライドのスピードを調整することができます。
※オプションを設定する時にオプションの末尾に「,」を記述しているとIEで動かない可能性があるので注意が必要です。

【html】

<ul>
    <li><img src="img/sample1.jpg" /></li>
    <li><img src="img/sample2.jpg" /></li>
    <li><img src="img/sample3.jpg" /></li>
    <li><img src="img/sample4.jpg" /></li>
</ul>

また、divタグで設定することも可能です。
画像ではなくても設置することができます。

<div>
    <div>あいうえお</div>
    <div>かきくけこ</div>
    <div>さしすせそ</div>
    <div>たちつてと</div>
</div>

上記の設定をすれば、簡単に画像やコンテンツのスライドショーをすることができます。
他にも色々なオプションがあるので、すごく使いやすいです。

また、jQueryのバージョンが古くてIEだけ動かないことがあったので、
IEで動かない場合にjQueryのバージョンを確認すると解決するかもしれないです。

Smarty:Smartyでエスケープをしない方法(smarty:nodefaults)

Smartyでデータを出力する際に自動でエスケープ処理をするように設定していることが多いと思います。
しかし、変数によってはエスケープしないで出力したい場合があります。

テンプレート内の変数に「smarty:nodefaults」を指定すればエスケープ処理されずに出力することが可能です。

※Smartyのバージョンによっては記述が違う場合があるそうなので注意が必要です。

下記にSmartyでテンプレート変数をエスケープしないで出力する方法をメモします。


■ エスケープ処理をしない方法

Smartyクラスで全ての変数にエスケープ処理を指定している場合です。
配列で設定すれば、複数の修正子を設定することができます。

$smarty->default_modifiers = array('escape:"html"');

変数に対して「smarty:nodefaults」を指定します。

{$test|smarty:nodefaults}

上記のように指定すれば、エスケープ処理されずに出力することができます。


■ default_modifiers

テンプレート内で使用する全ての変数に適用する修飾子を指定します。
指定したものはデフォルトで適用されるようになります。

$smarty->default_modifiers = array('', '');

■ 個別にエスケープ処理を指定する場合

{$test|escape:"html"}

個別にエスケープ処理をかける場合はエスケープ漏れがあるかもしれないので、
規定でエスケープ処理をかけるように設定した方がいいと思います。

.htaccess:Basic認証の記述方法と説明

Basic認証について、色々調べたので記述方法と簡単な説明をメモします。

すぐ忘れてしまうので。

Basic認証を作成するツールは色々あります。
私は下記のサイトを使用して「.htaccess」と「.htpasswd」を作成することが多いです。
こちらを使えば簡単にパスワードを作成することができます。

http://www.htaccesseditor.com/#a_basic

下記にBasic認証の書き方と設定内容の説明を記述します。


■ Basic認証を設定する時の.htaccessの書き方

※例です。

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /home/hoge/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
order deny,allow

■ Basic認証 設定内容の説明

【Files】

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>

「.htaccess」と「.htpasswd」を見せないようにする為の指定です。
記述しなくてもいいのですが、パスワードファイルをドキュメントルート以下に置く場合は参照されないように記述した方がいいと思います。

【AuthUserFile】

AuthUserFile /home/hoge/html/.htpasswd

.htpasswd(パスワードファイル)までのパスを指定します。
パスはサーバのフルパスを記述します。

【AuthGroupFile】

AuthGroupFile /dev/null

グループファイルを指定する時に使用します。
グループを使用しない場合は「/dev/null」を記述します。

【AuthName】

AuthName "Please enter your ID and password"

認証時のダイアログボックスに表示する文字列を記述します。

【AuthType】

AuthType Basic

認証の方法です。
Basic認証の場合は「Basic」を記述します。

【require】

require valid-user

認証するユーザを指定します。
全てのユーザにアクセスを許可する場合は、「valid-user」を記述します。


.htaccess:Basic認証を特定のファイルに設定

Basic認証を使用してアクセス制限をかける時に特定のファイルのみにアクセス制限を設定したい場合があります。

ディレクトリごとBasic認証をかける場合は「.htaccess」をアクセス制限をかけるディレクトリに設置すればいいのですが、
ディレクトリ内の全てのファイルが対象となってしまいます。

ディレクトリ内の一部のファイルのみにアクセス制限を設定したい場合は、下記のように記述します。


■ Basic認証を特定のファイルのみに設定

※下記「test.php」ファイルにBasic認証を設定する場合

【ディレクトリ内のファイル一覧】

.htaccess
.htpasswd
index.php
hoge.php
test.php

【.htaccess】

「Files」で「test.php」を指定すれば、「test.php」にBasic認証かけることができます。

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /home/hoge/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
order deny,allow
<Files test.php>
require valid-user
</Files>

複数ファイルを指定したい場合は下記のように記述します。

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /home/hoge/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
order deny,allow
<Files ~ (hoge.php|test.php)>
require valid-user
</Files>

「*」を使用してワイルドカードで指定することも可能です。


一部のファイルだけアクセス認証(Basic認証)をかけたい場合に良いと思います。

.htaccess:Basic認証で複数アカウントを登録

WEBサイトを制作していると公開前の場合など、アクセス制限をかけることが多いと思います。
また、特定の人にのみ参照可能にするページを作成する場合があります。

Basic認証(ベーシック認証)をかければ簡単に認証機能を付けることが可能です。

Basic認証は複数アカウントを設定することができ、アカウントごとにIDとパスワードを設定することができます。
下記にBasic認証で複数アカウントを登録する方法をメモします。


■ Basic認証で複数アカウントを登録

「.htaccess」にBasic認証を設定します。
※「AuthUserFile」に「.htpasswd」までのパスを記述します。

【.htaccess】

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /home/hoge/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

複数アカウントを登録する場合はアカウントごとに改行して記述します。

【.htpasswd】

test:Qc1I4UTNjzXEA
hoge:o4QIJGcEe6SXs

Basic認証で複数のアカウントを登録することはあまりないと思いますが、
改行して記述すれば複数アカウントを登録することが可能です。