Standing on the Shoulder of Linus

Home / 2012 / 11月 / 05 / fuel.php-web.net にメモ機能を追加しました

fuel.php-web.net にメモ機能を追加しました

FuelPHP のソースコードを閲覧できるサイト fuel.php-web.net にメモ機能を追加しました。

今までは、単に閲覧するだけでしたが、メモ機能を追加することで、自分が気になった点を書き込んで保存することができます。また何回閲覧したのか、前回の閲覧は何月何日か、という情報も記録するようにしています。

実装は、HTML5 ローカルストレージを採用しています。なので FuelPHP の機能とは直接は関係しません。また HTML5 対応ブラウザで、ローカルストレージを有効にして、アクセスしてください。https://github.com/ounziw/fuel.php-web.net/ の fuel/app/views/methodlist/source.phptal から抜粋しています。

		<p>
		このページを <span id="number">1</span> 回閲覧しました。
		前回の閲覧: <span id="lastview">0</span> 
		</p>
		<textarea cols="50" class="span9" rows="4" id="memotext" placeholder="You can enter a memo here."></textarea>
<script type="text/javascript">
	jQuery(document).ready(function(){
		var val = 1;
		var data = localStorage.getItem("<tal:block tal:content="classname">num</tal:block>Val");
		if (data !== null) {
			val += parseInt(data);
		}
		localStorage.setItem("<tal:block tal:content="classname">num</tal:block>Val",val);
		$('#number').text(val);

		var dateval = 'first time';
		var tmpdata = localStorage.getItem("<tal:block tal:content="classname">num</tal:block>Date");
		if (tmpdata !== null) {
			dateval = tmpdata;
		}
		$('#lastview').text(dateval);
		nowdate = new Date();
		datein = nowdate.getFullYear()  + "年" + (nowdate.getMonth() + 1) + "月" + nowdate.getDate() + "日";
		localStorage.setItem("<tal:block tal:content="classname">num</tal:block>Date",datein);
		$(document).ready(function(){
			$('#memotext').val(localStorage.getItem('<tal:block tal:content="classname">class</tal:block>Text'));
		});
		$('#memotext').keyup(function(){
				localStorage.setItem('<tal:block tal:content="classname">class</tal:block>Text',jQuery('#memotext').val());
		});
	});
</script>

jQuery のコードは、本来は別ファイルにするのが好ましいのでしょうけど、変数 classname を jQuery ファイルに渡すのが大変そうなので、view に直接記述する方式にしています。

関連

Posted in fuelphp | Tagged html5, ローカルストレージ
← wp-unit で WordPress ユニットテスト フレームワークベースのCMS(PHP限定) →

アーカイブ

人気の投稿とページ

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり(徒歩)
  • AGPL ライセンス(GPLとは似ているが違いもある)
  • 6年使ったイーモバイル(Y!mobile)を解約手続。店頭でSIM返却
  • JP-Secure SiteGuard WP Pluginは不正ログイン防止に役立つか

プロフィール

水野史土:月70万PVホームページ制作会社のレスキューワーク株式会社で、PHPソフトウェアのサポートを行っている。concrete5コミュニティリーダー、Novius OSコアコード貢献者でもある。 詳しくは管理者詳細参照。
大好評WordPress書籍「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」サポートページ

Copyright © 2015 Standing on the Shoulder of Linus.