後置型のifとMENTAとjQueryFileTree、そしてPHP

MENTAを触りはじめた時に、テンプレート内で後置型のifがちゃんと使えたのだが、少なくとも「static_file_path」と同時に使うことで、不具合が発生するようです。

ローカルでMENTAのインデックスにスタイルシートを適用しようとしたところ、タイトルがおかしくなっていました。

スタイルシートへのパスが入ってしまうようになりました。

今のところ原因はわかりませんが、普通にifブロックを使う、ということで回避はできるので大きな問題はありません。

で、コードにも書いていますが、MENTAのインデックスにjQueryを使ってファイルとディレクトリをツリー表示するライブラリである「jQueryFileTree」を使ってみました。

いずれ、ここからソースコードを見ることができるようにしようと思っています。

このライブラリはjQueryから(デフォルトでは)PHPを利用してファイルとディレクトリを取得して、その結果をjQueryで表示するものです。

参考

オフィシャルでは「jQuery Easing Plugin」というのが必要ということになっているので入れていますが、読み込んでなくても動いているようではあります。

Dependencies jQuery File Tree requires jQuery 1.2 or above. For easing effects, you will need the jQuery Easing Plugin or another jQuery easing plugin of your choice.
jQuery File Tree

ローカルにPHPが入ってなかったので、それを入れるのがなかなか面倒でした。

Perlで書かれたファイルがあればそれを使ったのに…と思いながら。

また、ローカルのテスト環境では微妙なエラーメッセージが出ているので、それもどうにかしたい…と思いながら。

Perlで書いてみようかなぁ。

1
PHP Notice: Undefined variable: root in *****/jqueryFileTree.php on line 21

app/controller/header.mt

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
? my $title = shift;
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><? if ($title) { ?><?= "$title - " ?><? } ?>menta.nqou.net</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript" src="./jquery.easing.1.3.js"></script>
<script type="text/javascript" src="./jqueryFileTree.js"></script>
<link rel="stylesheet" type="text/css" href="<?= static_file_path("default.css") ?>">
<link rel="stylesheet" type="text/css" href="./jqueryFileTree.css">
<script type="text/javascript">
$(document).ready(function () {
$('#fileTree').fileTree({
root:   './',
}, function(file) {
alert(file);
});
});
</script>
</head>
<body>
<h1><? if ($title) { ?><?= "$title - " ?><? } ?>menta.nqou.net</h1>
<h1><?= "$title - " if $title ?>menta.nqou.net</h1>
comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。