CakephpのbeforeFilterでComponentを使っているとなんやらメソッドがないとかエラーが
Fatal error: Call to a member function save() on a non-object ...
えー、普通に使ってるのに..と思ったら、beforeFilterでは、Componentのstartupがまだ呼ばれてないっぽい(使える準備ができてない)
仕方ないので、メインのメソッドに書きました
ひびのきろく
CakephpのbeforeFilterでComponentを使っているとなんやらメソッドがないとかエラーが
Fatal error: Call to a member function save() on a non-object ...
えー、普通に使ってるのに..と思ったら、beforeFilterでは、Componentのstartupがまだ呼ばれてないっぽい(使える準備ができてない)
仕方ないので、メインのメソッドに書きました
このブログもWordpressを使っていますが
シンタックスハイライト(プログラムコードとかを綺麗に見せる)に
というプラグインを使っていましたが、Markdown形式でかける
のソース表示でいいか、と思ったのと、コードのタグとかがサニタイズ( < が < にみたいに変換されたりするので外すことに
プラグインを外すと
[text]
シンタックスハイライトしていた文章..
[/text]
[php]
シンタックスハイライトしていたphpのコード..
[/php]
と文章に SyntaxHighlighter Evolved で使っていた、記号が出てしまいます
Jetpack by WordPress.comのMakdownは ``` で囲えばいいのですがこれは
preタグ+codeタグに変換されます
文章をMysqlでいっきに置換してみます
まず [text] とか出てる記事を見て ID を調べます
http://(wordpress address)/?p=611
とかの611がIDだったりします
ひとつ試しにIDを指定して置換
サーバー、mysqlにログイン
$ mysql -u (mysqluser) -p (wordpress database name)
表示した記事の文章を置換して [text] -> <pre><code> に変換
mysql> update wp_posts set post_content = replace(post_content, ‘[text]’, ‘<pre><code>’) where id = 611;
mysql> update wp_posts set post_content = replace(post_content, ‘[/text]’, ‘</code></pre>’) where id = 611;
記事確認
http://(wordpress address)/?p=611
無事きれいになってたら成功
where以降をとってしまえば、全記事に適用されます([text]がない記事には影響しない)
mysql> update wp_posts set post_content = replace(post_content, ‘[text]’, ‘<pre><code>’);
mysql> update wp_posts set post_content = replace(post_content, ‘[/text]’, ‘</code></pre>’);
どうように [php] も取ります
mysql> update wp_posts set post_content = replace(post_content, ‘[php]’, ‘<pre><code>’);
mysql> update wp_posts set post_content = replace(post_content, ‘[/php]’, ‘</code></pre>’);
ひとつプラグインが減ってすっきりしました
jQueryを使って非表示にするには
<div id="box1" class="box">this is box1.</div>
<div id="box2" class="box">this is box2.</div>
<div id="box3" class="box">this is box3.</div>
id指定だと
$('#box1').hide();
boxクラスで全部非表示にだと
$('.box').each( function() { $(this).hide(); } );
シンプルにこれでもいい
$('#box1').css('display', 'none');
$('.box').each( function() { $(this).('display', 'none'); } );
jQueryでDOMの存在を確認してみたメモ
if ($('#sample').length > 0) {
// ある
} else {
// ない
}
length使うとよさそうです