スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

minishowcase 設定のメモ

使い勝手が良さそうな「minishowcase」の設定方法のメモ。

・フォルダの順番を変える
 1.setting.phpの $settings['show_thumb_number'] の部分を false に設定する
 2.フォルダ名に 「01-」 などをつけるとフォルダ名が数字の小さい順に並べ替えられる。
 3.画像も同様に 「01-」 などをつける。
 例)
  01-NEW
   ∟01-image.jpg
   ∟02-image.jpg

・初期表示時の文言を変更する。
 デフォルトだと、「Thank you for installing minishowcase.」とか英文がつらつらと出る。
 1.galleriesフォルダ内の_info.txtを修正してアップする

・初期表示時からギャラリーを表示させる方法
 setting.php の 下記を修正する
  $settings['gallery_default'] = true;
  $settings['gallery_default_name'] = 表示させるフォルダ名';

・クリック時の画像拡大方法を変更する
 setting.php の 下記を修正する
  $settings['preview_mode'] = 1;
  値は0~2までのどれか。デフォルトは0。

・選択したフォルダの前後の文字を変える
 デフォルトだと 「my 選択したフォルダ名 pictures」と言う風になっている。
 setting.php の 下記を修正する
  $settings['gallery_name_prepend'] = 'my';
  $settings['gallery_name_append'] = 'pictures';
 my や picturesの部分を変更すればOK。
 画像にする場合はここだけじゃ出来ないので
 librariesフォルダ内のajax.functions.jsを直接いじる。
  gallery_title_cont = ''
 と言う部分を直接いじれば変更される。
 例)

gallery_title_cont = '<h2<>img src="/img/gallery_title_' + galleryName(active_id).toLowerCase() + '.gif" alt="'+galleryName(active_id)+'" /<>/h2>'


・サムネイルの表示方法(これスゴイ便利!)
 ※サムネイルを正方形に表示させる。(縦長とかを正方形で中心だけ表示)
 $settings['square_thumbnails'] = true;
 ※比率を同じにして表示させる。
 $settings['square_thumbnails'] = false;

・ディレクトリ名に日本語を使う
 ※サーバーの文字コード等によって違うかも?!
 ※ソースは全てUTF-8で作ること

 1.setting.php の 下記を修正する
   $settings['set_double_encoding'] = true;
 2.libraries/ajax.gateway.phpのfunction get_galleries() 内を変更する

$output .= $filename.":".$gallery_files.":".$password.":".$filename."|";

$encoding = ($_double) ? "utf8" : "";

   ↓

$output .= utf8_encode($filename.":".$gallery_files.":".$password).":".mb_convert_encoding($filename, 'UTF-8', 'SHIFT_JIS')."|";

#$encoding = ($_double) ? "utf8" : "";

3.libraries/ajax.functions.jsの上部宣言部あたりに
   var title_array = new Array();
 4.libraries/ajax.functions.jsのfunction updateGalleriesMenu() 内を変更する
   ※use_select_menuの値によりupdateGalleriesSelect()を修正かも
   for (var i=0; i<galleries.length-1; i++)の中に

var name = galleries_data[3];
title_array[id]= name;

   の2行を追加。

a.innerHTML = ''
 +((g_password)?'<img class="lock" src="images/lock.gif" alt="" />':'')
 + galleryName(id)
 +' <small>('+g_id_files+')</small>'



a.innerHTML = ''
 +((g_password)?'<img class="lock" src="images/lock.gif" alt="" />':'')
 + galleryName(galleries_data[3])
 +' ('+g_id_files+')'

に変更

  5.libraries/ajax.functions.jsのfunction updateThumbs()内を変更

galleryName(active_id)



var wk = title_array[active_id];
galleryName(wk)
スポンサーサイト

お役立ち技188

cssのテクニックの紹介リンク。

IE6でよく遭遇する6つのバグと解決法」や「背景が透けるカラムを実装するスタイルシート
その他色々なテクニックが載ってるリンク。

cssの情報・まとめ - かちびと

Zend_Db_Select でWHERE句に副問合せ(subquery)

迷ったのでメモ

$subselect = $db->select()
->from(array('a'=>'table'))
->where('a.id = s.id')
->where('a.name = ?', 'test');

$select = $db->select()->from(
array("s" => "table2"),
array("s.id","s.name"))
->where("exists ($subselect)");


出力結果

select s.id, s.name
from table2 s
where exists(
select * from table a
where a.id = s.id
and a.name = 'test'
)

Zend_Db_Select でFROM句に副問合せ(subquery)

すごい迷ったのでメモ。


$selectA = $db->select()
->from(array('u' => 'user'), 'name')
->where('u.id >= 5');

$selectB = $db->select()
->from(array('u' => 'user'), 'name')
->where('u.id < 5');
$sqla = $db->select()->union(array($selectA, $selectB));

$select = $db->select()
->from(
array('u2' => $sqla),
array('cnt' => 'COUNT(*)')
);;

echo $select->__toString().'
';


出力SQL

SELECT COUNT(*) AS "cnt"
FROM (SELECT "u"."name"
FROM "user" AS "u"
WHERE (u.id >= 5) UNION
SELECT "u"."name"
FROM "user" AS "u"
WHERE (u.id < 5)
) AS "u2"

Googleからのウェブマスター向けSEOクイズに挑戦

SEOに関わるウェブマスター向けのクイズみたいです。
頑張るぞー!

投稿する方はコチラ

問題は40問です。

1. サイトを新しいドメインに引越しました。ユーザーと検索エンジンが引き続き適切にこのサイトにたどり着けるようにする必要があります。この場合、最適な方法は以下の選択肢のうちどれ?
a) 301 リダイレクトを使う
b) 302 リダイレクトを使う
c) 古いサイトへのリンクを新しいサイトに追加する
d) 古いサイトにて新しいドメイン名を記載したエラーページを表示させる
2. サーバーを移動することになり、24 時間、サイトへアクセスすることができなくなります。この場合の対処法は?
a) Google に電話をして、その間サイトをクロールしないよう伝える
b) robots.txt を使って、その間サイトのクロールが行われないようにする
c) すべてのリクエストに対し、状況を説明するメッセージと共に 503 ( サービス利用不可 ) を返す
d) Wi-Fi をインストールして、移動期間中であっても、サーバーがオフラインにならないようにする。ダウンタイムの発生を何としても避ける
3. あなたのサイトが一般公開されてから 5 日が経過しましたが、まだインデックスに登録されません。この場合は何をすべき?
a) Google ダンスを踊る
b) 引き続きサイトの更新を続ける
c) 別のドメインを購入し、サイトをそこに複製する
d) アクセスカウンターの水増しをする
4. W3C のバリデータ ( http://validator.w3.org/ ) を使用してサイト全体を検証したところ、287 個のページにエラーが見つかりました。Google があなたのサイトからインデックスに登録する可能性のある URL は最大いくつ?
a) 0
b) サイトにある URL の総数 - 287
c) 287
d) サイトにある URL の総数
5. あなたは複数のドメインを購入しました。すべてのドメイン名にて同じサイトを表示させるにはどうすればいい?
a) フレームを使う
b) 301 リダイレクトを使う
c) コンテンツを複製する
d) DNS エイリアス ( CNAME レコード ) を使う
6. 非公開フォルダである /private-files/ フォルダから 192 の 非公開 PDF ファイルがインデックスに登録されてしまいました。Google の検索結果からこれらの PDF ファイルを削除したい場合、最も早い方法はどれ?
a) それら非公開 PDF ファイルをフォルダから削除して、そのまま待つ
b) robots.txt を使って、すべての PDF ファイルへのアクセスを制限する
c) 公開されている URL ( ウェブページ ) 削除リクエストツールを使う
d) robots.txt にてこのフォルダへのアクセスを制限し、ウェブマスター ツールを通じてフォルダ全体の削除をリクエストする
7. /private-files/ フォルダ内のファイルは今後も、Google のインデックスに登録されないようにする必要があります。最適な対処法はどれ?
a) これらファイルがどこからもリンクされないよう気をつける
b) このフォルダへのアクセスには、サーバー側での認証 ( ユーザ名 / パスワード ) を求めるようにする
c) ウェブマスター ツールを使って、クロール速度を 0 にする
d) Disallow: /private-files/ を robots.txt に追加する
8. サイトのすべての URL を .php から .asp に変更しました。この場合、何をする必要がある?
a) URL ( ウェブページ ) 削除ツールを使用する
b) robots.txt を使って、"/*.php"へのアクセスを制限する
c) 古い URL から新しい URL へ 301 リダイレクトが行われるように設定する
d) robots.txt を使って、"/*.php"へのアクセスを制限し、古い URL から新しい URL へ 301 リダイレクトが行われるように設定する
9. example.es という国別コードトップレベルドメイン ( ccTLD ) を含むドメイン名にてサイトを運営しています。このサイトをスペインに関連付けるために必要な対処は?
a) HTML に次のタグを含める:
b) 地域ターゲット ツールを使用して、地域ターゲットをスペインに設定する
c) 特に何もする必要はない。".es" で終わっているドメインはすでに Google 側でスペインに関連付けられている
d) 言語のメタ タグを含める:
10. あなたのサイトの中に、スペイン語のみで書かれたページと、英語のみで書かれたページが混在しています。この場合、何をする必要がある?
a) HTML 開始タグにて言語を指定する:
b) 言語のメタ タグを含める。例:
c) 何もする必要はない。Google で自動的に判別される
d) コンテンツを言語別のフォルダに分けて置く必要がある ( 例: http://example.com/es/ および http://example.com/en/ )
11. 以下の選択肢の中でウェブマスター向けガイドラインに違反していないものはどれ?
a) サイトのテストのため、ユーザーによって異なるバージョンのページを見せる
b) 検索エンジンに見せているページとユーザーに見せているページが異なる
c) 検索エンジンおよびユーザーに同じページを見せているが、JavaScript もしくは CSS を使って主要なテキスト コンテンツの一部をユーザーから隠蔽する
d) Javascript リダイレクトを使って、サイト内のより適したコンテンツがあるページにユーザーを移動させている
12. 以下の選択肢の中で、検索結果におけるサイトのランキングに悪影響を与えることがないリンク方法はどれ?
a) あなたのサイトを訪れたユーザーにとって面白い、または役に立つと思える外部のサイトにリンクする
b) スパムサイトや質の低いサイトにリンクする
c) 過剰な相互リンクやリンク交換を行う
d) PageRank を転送するリンクの売買を行う
13. robots.txt ファイルに、"User-agent: *" と "Disallow:" の記述がある場合、これは何を意味する?
a) すべての検索エンジンに対し、サイトのクロールを許可する
b) すべての検索エンジンに対し、サイトのクロールを許可しない
c) すべての検索エンジンに対し、サイトのルートにあるコンテンツを除く全てのコンテンツのクロールを許可しない
d) URL の末尾のスラッシュが検索結果に表示されないようにする
14. robots.txt ファイルに、"User-agent: *" と "Disallow: /" の記述がある場合、これは何を意味する?
a) すべての検索エンジンに対し、サイトのクロールを許可する
b) すべての検索エンジンに対し、サイトのクロールを許可しない
c) すべての検索エンジンに対し、サイトのトップページのクロールを許可しない
d) robots.txt ファイルでは、この記述は無効である
15. ウェブマスター ツールのメッセージ センターにメッセージが表示される可能性があるのは次の選択肢のうちどれ?
a) ウェブマスター向けガイドラインに違反した場合
b) クロール速度の設定を変更した場合
c) サイトに「無限のスペース」が検出された場合
d) 有料リンクを報告した場合
e) 上記のすべて
16. First Click Free ( http://www.google.com/support/webmasters/bin/answer.py?hl=ja&answer=74536 ) を使用している場合、Google の検索結果からアクセスしたユーザーに対し表示されるページは Googlebot に表示されるコンテンツと同じでなければならない
正しい
間違っている
17. 一般的に言って、重要なコンテンツはどの形式で提供するのがベスト?
a) alt テキストを指定した画像
b) テキスト
c) Flash
18. あなたのサイトにある重複コンテンツが問題となる可能性が低いのは次の選択肢のうちどれ?
a) 元のコンテンツ提供者が気付いていない
b) rel="canonical" のリンク要素を使う、もしくはウェブマスター ツールの新機能「パラメータ処理」を使って、指定した URL パラメータを無視するように設定している
c) それぞれのページでテキストやアンカーテキストをちょっとずつ変更している
d) コンテンツの作者があなた自身である
19. あるキーワードに関連するコンテンツがあなたのページの画像上にあります。そのキーワードの検索結果にあなたの サイトを表示したい場合はどうする?
a) 画像内にキーワードを含ませる
b) keywords メタ タグを使う
c) description メタ タグを使う
d) alt 属性を使う、またはページ内にテキストとしてキーワードを含める
e) フッターに小さなフォントでキーワード テキストを書く
20. ウェブマスター ツール アカウントに「robots.txt ファイルにアクセスできません」というエラーがたくさん表示されます。この場合の対処法は?
a) robots.txt ファイルを作成する
b) robots.txt ファイルを削除する
c) ホスティング事業者もしくはサーバー管理者に連絡する
d) トップページからあなたの robots.txt ファイルへリンクする
21. あなたのサイトがネコに関するものであるにも関わらず、あなたのウェブマスター ツールのアカウントに「バイアグラ」や「着メロ」などのキーワードがリストされています。これは何を意味する?
a) あなたのネコが内緒で Google Checkout を利用していろいろ買い込んでいる
b) あなたのサイトが乗っ取られた可能性がある(サイト内のフォーラムやブログ投稿へのコメント スパム、などを含む)
c) 競合相手がこれらのキーワードであなたのサイトへのリンクを張ることで、あなたのサイトに損害を与えようとしている
d) おそらく同じサーバーを使用している別のサイトが原因なので無視して構わない
22. 検索エンジン最適化 ( SEO ) 業者があなたのサイトのランキングに関するレポートを作成しましたが、その結果は自分で確認した情報と一致しませんでした。この原因は?
a) ランキングはユーザーの所在地によって異なる可能性があるから
b) ランキングはユーザーによって異なる可能性があるから
c) ランキングは日によって異なる可能性があるから
d) 上記のすべて
23. あなたのサイトが乗っ取られました。どのように対処しますか?
a) 乗っ取られた部分を削除する
b) ソフトウェアをアップデートする
c) ログ ファイルをチェックする
d) ホスティング事業者 / サーバー管理者に連絡する
e) 上記のすべて
24. XML サイトマップを Google に送信する適切な方法は?
a) ファイルに "/sitemap.xml" と名前をつけるだけで、自動的に認識される
b) あなたのトップページから XML サイトマップ ファイルにリンクする
c) Google ウェブマスター ツールを使う
d) ICMP ”ping” を "www.google.com" に送信する
25. あなたのサイトの 1 ページが検索結果にてタイトルのみ表示されています ( スニペットは表示されていません) 。どんな原因が考えられる?
a) robots.txt にて、そのページの URL へのアクセスがブロックされている
b) そのページの URL に対してまだクロールが行われていない
c) そのページには nosnippet メタ タグがある
d) 該当するページにテキスト コンテンツが一切含まれていないかもしれない
e) 上記のすべて
f) どれもあてはまらない
26. あなたのウェブショップには 100 個の製品があります。site: 演算子を使って検索すると、50,000 URL がインデックスに登録されています。どのようなことが考えられる?
a) Canonical 指定関連の問題が発生している
b) 「ページが見つかりません」のエラーページが 404 エラーを返していない
c) あなたのサイトが乗っ取られた
d) クローラにセッション ID を見せている
e) 上記のすべて
27. Google がインデックスへの追加を保証するサイトの種類は?
a) AdWords に広告を出しているサイト
b) AdSense に参加しているサイト
c) ウェブマスター ツールの認証を受けたサイト
d) LOLcat ( http://ja.wikipedia.org/wiki/Lolcat ) の画像を含んでいるサイト
e) どれもあてはまらない
28. 帯域幅が限られているため、Google によるサイトのクロール頻度を少なくしたい場合は、どうすればいい?
a) 接続ピーク時に、robots.txt にてあなたのサイト(もしくはサイトの一部)のクロールを制限する
b) 接続ピーク時に、XML サイトマップにて、サイトの全 URL の優先順位を "0.0" にする
c) ウェブマスター ツールでクロール速度を設定する
29. Google には夜間だけクロールしてほしい。どうするべき?
a) info@google.com 宛にメールを送る
b) robots.txt ファイルに "Allow: 11pm-7am" を追加する
c) サーバーに許容範囲を超えるリクエストが来ている間、すべてのユーザに 503 ステータスコードを返す
d) robots.txt を動的に変更して、昼間の間、サイトのクロールをブロックするようにする
30. AdWords に費やした金額は、Google の検索結果におけるランキングに影響を与える?
a) 影響を与える
b) 影響を与える場合がある
c) 影響を与えない
31. 無料のセキュリティアップデート ( WyszKablamCMS v.2.7.8 ) がリリースされたという情報を読みました。どう対処する?
a) 無視する
b) サーバーのパスワードを変更する
c) アップデートの内容を読み、インストールし、潜在的な脆弱性または互換性の問題に対処する
32. 「______に焦点を絞れば、他のものはみな後からついてくる。」はGoogle の理念のひとつです。______には何が入る?
a) 検索結果
b) コンバージョン
c) リンク
d) ユーザー
33. あなたのサイトに対し、マルウェアに感染した疑いがあるとの警告が出ましたが、マルウェアを見つけることができません。どのように対処する?
a) サイトの再審査リクエストを送信する
b) ウェブマスター ヘルプ フォーラムに投稿し、助言を求める
c) ツイッターで @google に苦情を投稿する
d) ドメイン名を破棄して、最初からやりなおす
34. robots.txt はどこに置く?
a) この件について Google で検索する
b) ウェブマスター ツール内
c) ドメインもしくはサブドメインのルート ディレクトリ
d) アクセスをブロックしたいフォルダ内
35. ウェブマスター ツールのクロールエラー、"robots.txtファイルにアクセスできません" の意味は?
a) robots.txt ファイルが存在しない
b) Google があなたのサーバーの robots.txt ファイルにアクセスできなかった
c) robots.txt ファイルの記述が、robots.txt ファイルへのアクセスをブロックしている
d) robots.txt ファイルがパスワードを要求している
36. site: 演算子検索にて表示される、インデックスに登録されているページ数が変化します。考えられる原因は?
a) 複数あるデータセンター ( Google のコンピュータ ) が、それぞれ異なる情報を表示する場合がある
b) ログイン / ログアウトの状態 --Googleの「パーソナライズド検索」のフィルタが影響を与えている可能性がある
c) 重複コンテンツのフィルタが影響を与えている
d) 上記のすべて
37. あなたのサイトは 200 ページありますが、Google は 5 ページしか見つけることができません。考えられる原因は?
a) Google があなたのサイトを嫌っている
b) Google があなたの分野 / 業界のビジネスに対する陰謀に加担している
c) サイトがクロール可能となり、インデックスへの登録の準備が整っている場合でも、Google がサイトを完全に把握するのには時間がかかる場合がある
38. あなたは広告収入を得るため、あなたのサイトからリンクを張りたいと考えています。以下のリンク方法のうち、適切なものはどれ?
a) ただリンクを追加するだけでいい
b) リンクを追加した後、フォントサイズの小さいテキストを使い、テキストの色を背景色と同じにして、リンクをページから隠すようにする
c) リンクの タグにて、rel="nofollow" の HTML microformat を使う
39. robots.txt にてクロールのブロックを設定すると、Googlebot が301 リダイレクト、nofollow メタ タグ、noindex メタ タグに気付くことができなくなる
正しい
間違っている
40. If-Modified-Since を使って、ロボットによるサイトのクロールをより効率的にする方法は?
a) ウェブサーバーの設定を変更して、同じソース IP からの繰り返しのリクエストを無視する
b) 必要に応じて 304 (変更なし) ステータスコードを返す
c) If-Modified-Since メタ タグを HTML ページに追加する


お疲れ様でした。
回答は後日載せます。

[Googleからのウェブマスター向けSEOクイズに挑戦]の続きを読む

CSS3の各種プロパティが有効かを検出するためのライブラリ

参考サイト


この対応表を見ると、IE6~8は全滅・・・。
まだ、覚えなくても良さそうかも。

Google AJAX Search API をPHPで使う

Google AJAX Search APIをphpから使う方法


require_once 'Jsphon/Decoder.php';

$keywd = "日本語";
$keywd = urlencode(mb_convert_encoding($keywd, "UTF-8"));

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&hl=ja&lr=lang_ja&q=".$keywd;

// sendRequest
// note how referer is set manually
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.test.com/");
$body = curl_exec($ch);
curl_close($ch);

// now, process the JSON string
//$json = json_decode($body);
// now have some fun with the results...

$json = new Jsphon_Decoder();
$result = $json->decode($body);

echo "<".print_r($result, true)."<<";


参考サイトはコチラ

inline-blockの使い方

display:inlineだと、高さとか幅は指定出来ないけど、指定したいときもある。
そんな時はdisplay:inline-block; を使う。

参考サイト

各検索エンジンの特定キーワードでの順位をチェックする

SEOの対策をする時、Yahooやgoogleなどのサイトに行って、特定のキーワードを自分で打って順位が何位かを調べたりする事があるが、それを簡単にチェック出来るサイトがあったのでメモ。

http://www.seotools.jp/

ここの「順位チェック」と言うとこでチェックが出来ます。

HTML をシンプルに保ちつつ、ブロック要素の段組みを実現する方法

写真間のmarginだけにして、両端のmarginは省く方法

#HTML

<div id="photo">
<ul>
<li><img src="hoge1.jpg" alt="サンプル1" width="160" height="120" /></li>
<li><img src="hoge2.jpg" alt="サンプル2" width="160" height="120" /></li>
<li><img src="hoge3.jpg" alt="サンプル3" width="160" height="120" /></li>
</ul>
</div><!-- /#photo -->


#css

* { /* デフォルトCSSのリセット */
margin: 0;
padding: 0;
}
div#photo {
width: 500px; /* 全体の横幅 */
height: 120px;
}
div#photo ul {
width: 510px;
height: 120px;
margin-right: -10px; /* ここがポイント! */
list-style-type: none;
}
div#photo li {
float: left; /* floatで段組み */
width: 160px;
height: 120px;
margin-right: 10px; /* 写真間の余白 */
}


参考サイトはコチラ

text-indent:-9999 は違反かどうか

googleの公式ブログ
text-indent:-9999
について、公式の記事が載ってました。


今まで通り、とりあえず文字を同じにしておけばOKみたいですね!

divで縦のセンタ[複数行OK]

以前、divで縦のセンタリングでも書いたが、以前のものは複数行の場合は崩れてしまうものでした。

今回のものは、難しいけど複数行もOKらしい。

HTMLソース

<div>
 <p>中央に表示<br />したい文字</p>
</div>


CSS

div{
 width:200px;
 height:200px;
 background:#39FF6B;
 position:relative;
}
p{
 position:absolute;
 top:50%;
 left:50%;
 margin-left:-2.5em;
 margin-top:-1em;
}


positionを使いp要素の開始位置を中央に設定します。

その後にmarginを使いp要素の中央とdiv要素の中央が同じ位置になるように変更します。

ポイントとしてはp要素のmargin-leftの-2.5emとmargin-topの-1em

margin-leftには行の最大文字数の半分を-であたえます。(今回の場合は5文字/2)
margin-topには行数の半分を-であたえます。(今回の場合は2行/2)


元ネタはコチラ

プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。