baser CMS
http://basercms.net/
2012年1月30日月曜日
2012年1月26日木曜日
2012年1月25日水曜日
li タグの中身をランダムで n 個 表示する
(1) 以下を jQuery でメソッドを作成する。 rview の属性の値の数だけランダムで li を表示する。
(3) ULの内容がページ読み込み直後に一旦全て表示されてしまう場合があるので、ul.mr li {display:none;} しておくと読み込み後に rview 指定分のみが表示されるようにできる。
(2) HTML側:ランダム表示したい UL に上記(1)で定義した属性を加える。(この場合は rview )<script language="javascript">//<!--jQuery(function($) {$.fn.extend({rview : function(num) {return this.each(function() {var chn = $(this).children().hide().length;for(var i = 0; i < num && i < chn; i++) {var r = parseInt(Math.random() * (chn - i)) + i;$(this).children().eq(r).show().prependTo($(this));}});}});$(function(){$("[rview]").each(function() {$(this).rview($(this).attr("rview"));});});});//--></script>
<ul class="mr" rview="1"><li><a href="#A">リンク先A</a>|<a href="#a">リンク先a</a></li><li><a href="#B">リンク先B</a>|<a href="#b">リンク先b</a></li><li><a href="#C">リンク先C</a>|<a href="#c">リンク先c</a></li><li><a href="#D">リンク先D</a>|<a href="#d">リンク先d</a></li></ul>
(3) ULの内容がページ読み込み直後に一旦全て表示されてしまう場合があるので、ul.mr li {display:none;} しておくと読み込み後に rview 指定分のみが表示されるようにできる。
2012年1月24日火曜日
PHP 5.3.9 (Windows 7) に PEAR をインストールする
PHP 5.3.9 の zip パッケージをダウンロードしてインストールした後に、よく見たら go-pear.bat が入っていないので、PEARのサイトより http://pear.php.net/go-pear.phar をダウンロードし go-pear.phar を実行する。
2012年1月20日金曜日
PHPでHTMLをPDFで出力(Windows + Apache)
TCPDF を使用。
[1]
tcpdf_5_9_144.zip をダウンロードして解凍して使用するPHPから tcpdf/tcpdf.php を include する。
[2]
このままでは日本語は文字化けするので、tcpdf/config/lang 以下に jpn.php ファイルを作成して以下のコードを記述して保存する。
global $l;[3]
$l = Array();
$l['a_meta_charset'] = 'UTF-8';
$l['a_meta_dir'] = 'jpn';
$l['a_meta_language'] = 'jp';
$l['w_page'] = 'ページ';
以下のコードでPHPから使用できる。
include_once ("./tcpdf/config/lang/jpn.php");
include_once ("./tcpdf/tcpdf.php");
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->setFontSubsetting(false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetFont("kozgopromedium", "", 8);
$pdf->AddPage();
$tpl = mb_convert_encoding("<h1>テスト</h1>", "UTF8", "EUC-JP");
$pdf->writeHTML($tpl, true, 0, false, true, 'L');
$pdf->Output('sample.pdf', 'D');
この時は mb_internal_encoding が EUC-JP だったが、TCPDF は UTF8 で処理されるようなので、もし UTF8 以外でコードを書いている場合は変換する。
また、 writeHTML の内容は HTMLTidy のようなキチンと整形されたコードでなければエラーになってしまう。
CSS は それぞれのタグに style 属性で指定する。
(ブラウザでHTMLを表示した時と同じ・・・とまではいかないような・・・)
また、 writeHTML の内容は HTMLTidy のようなキチンと整形されたコードでなければエラーになってしまう。
CSS は それぞれのタグに style 属性で指定する。
(ブラウザでHTMLを表示した時と同じ・・・とまではいかないような・・・)
Table のチェックボックス2
テーブル内のチェックボックスのjQuery例:
機能:
・ 全ての行選択/解除
・ trをクリックしてチェックボックスの選択/解除
・チェックボックスクリック時に tr 背景色の変更(class の値追加/削除)
機能:
・ 全ての行選択/解除
・ trをクリックしてチェックボックスの選択/解除
・チェックボックスクリック時に tr 背景色の変更(class の値追加/削除)
$(".all_select").click(function() {ijou.
if($(this).attr("checked")){
$("#table_list .selected_id").attr("checked", true);
for(var i=0; i<$(this).parent().parent().parent().find("tr").length; i++) {
$($(this).parent().parent().parent().find("tr").get(i)).addClass('tr-selected');
}
}
else {
$("#table_list .selected_id").attr("checked", false);
for(var i=0; i<$(this).parent().parent().parent().find("tr").length; i++) {
$($(this).parent().parent().parent().find("tr").get(i)).removeClass('tr-selected');
}
}
});
$('.selected_id').click(function(){
if($(this).attr("checked")){
$(this).attr('checked', true);
$(this).parent().parent().addClass('tr-selected');
}
else{
$(this).attr('checked', false);
$(this).parent().parent().removeClass('tr-selected');
}
});
$('.list td').click(function(){
var mo = $(this).parent().find("input:checkbox");
var tar = $(this).find("input:checkbox");
console.log(tar);
if(tar.length < 1) {
if(mo.attr("checked")){
mo.attr('checked', false);
$(this).parent().removeClass('tr-selected');
}
else{
mo.attr('checked', true);
$(this).parent().addClass('tr-selected');
}
}
});
table のチェックボックスをクリックしたときに行の背景色を変える
■HTML:例
■jQuery:例
<table>■CSS:例
<tr>
<td><input type="checkbox" id="test_0" name="test[]" class="test" value="mo1"></td>
<td>TEST1</td>
</tr>
<tr>
<td><input type="checkbox" id="test_1" name="test[]" class="test" value="mo1"></td>
<td>TEST2</td>
</tr>
<tr>
<td><input type="checkbox" id="test_2" name="test[]" class="test" value="mo1"></td>
<td>TEST3</td>
</tr>
</table>
/* チェックボックスにチェックを入れた際の背景色 */
.tr-selected { background-color:#fcc; }
■jQuery:例
<script language="javascript">
$('.selected_id').click(function(){
if($(this).attr("checked")){
$(this).attr('checked', true);
$(this).parent().parent().addClass("tr-selected");
}
else{
$(this).attr('checked', false);
$(this).parent().parent().removeClass("tr-selected");
}
}
</script>
2012年1月10日火曜日
Apache で Forbidden になる
Foedora Core 16 にて Apache で /home/(ユーザー名: user)/public_html を公開しようとすると Forbidden が表示されてしまう。以下の可能性がある。 httpd -t でもhttpd.conf の記述に誤りが無いか事前に確認しておく。
*原因1 SELinux のセキュリティ設定
SELinux の設定で公開するディレクトリ( /home/user/public_html )が httpd からアクセス可能であると設定する。
# semanage fcontext -a -t httpd_sys_content_t '/home/user/public_html(/.*)?'
# restorecon -R /home/user/public_html
または、以下の方法でSELinux 自体を無効にしてしまう。
# setenforce 0
*原因2 アクセス権
# chmod 755 /home/user
今回は *2 でハマる。
*原因1 SELinux のセキュリティ設定
SELinux の設定で公開するディレクトリ( /home/user/public_html )が httpd からアクセス可能であると設定する。
# semanage fcontext -a -t httpd_sys_content_t '/home/user/public_html(/.*)?'
# restorecon -R /home/user/public_html
または、以下の方法でSELinux 自体を無効にしてしまう。
# setenforce 0
*原因2 アクセス権
# chmod 755 /home/user
今回は *2 でハマる。
Git のインストール
[1] Git を yum に追加
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[2] リポジトリ更新
# vi /etc/yum.repos.d/rpmforge.repo
enable=0
[3] Git インストール
# yum install git --enablerepo=rpmforge
# yum install git-daemon --enablerepo=rpmforge
[4] Git 設定
% git config --global user.name "aaaaaa"
% git config --global user.email aaaaa@aaaaaaa
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[2] リポジトリ更新
# vi /etc/yum.repos.d/rpmforge.repo
enable=0
[3] Git インストール
# yum install git --enablerepo=rpmforge
# yum install git-daemon --enablerepo=rpmforge
[4] Git 設定
% git config --global user.name "aaaaaa"
% git config --global user.email aaaaa@aaaaaaa
登録:
投稿 (Atom)