[Nucleus CMS] ブックマークレット投稿時にカテゴリーを自動選択するTips

Nucleus の投稿は、管理画面からとブックマークレットからの2種類。Nucleus使いなら、ログインしているユーザにのみ新規投稿ボタンを表示させて、そこからアイテム新規投稿や編集を行っていると思います。

ここでやってみたくなるのが、カテゴリが選択されたページでの新規投稿ボタンを押した場合、ブックマークレット投稿画面で選ぶカテゴリを、最初から自動的にそのカテゴリで選択させる仕組み。

画像:Nucleus CMS カテゴリ自動選択

ブックマークレット投稿画面リンク

まずはオリジナルの、ブックマークレット投稿画面リンク部分。

<%if(loggedin)%>
<a href="/nucleus/bookmarklet.php?blogid=<%blogsetting(id)%>" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault();winbm=window.open(this.href,'nucleusbm','scrollbars=no,width=700,height=550,left=10,top=10,status=no,resizable=yes');winbm.focus();return false;">新規投稿</a>
<%endif%>

この href の値に「catid」を付けます。

<%if(loggedin)%>
<a href="/nucleus/bookmarklet.php?blogid=<%blogsetting(id)%>&catid=<%category(id)%>" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault();winbm=window.open(this.href,'nucleusbm','scrollbars=no,width=700,height=550,left=10,top=10,status=no,resizable=yes');winbm.focus();return false;">新規投稿</a>
<%endif%>

これでアクセスするアドレスは下記のようになります。
http://example.com/nucleus/bookmarklet.php?blogid=1&catid=1

ブックマークレット投稿画面

nucleus/libs/include/bookmarklet-add.template を編集します、アドレスから catid を判定して、カテゴリーのセレクトボックスを自動選択するJavaScriptを追加記述します。

<script type="text/javascript">
jQuery(function(){
        if(location.search.length > 1) {
                var locCatID = location.search.split('&');
                for (var i=1; i<locCatID.length; i++) {
                        if (locCatID[i].match(/^catid=*/m)) {
                                var catid = locCatID[i].replace('catid=','').match(/[0-9]/g).join('');
                                //alert(catid);
                                $('select[name=catid]').val(catid);
                                break;
                        }
                }
        }
});
</script>

結構簡単に実装できたので、カテゴリーを利用して構築する方へはおすすめできるように思えます。



/ / /
Skooler Records

No comments yet

%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%63%32%35%30%61%33%34%37%62%38%61%63%34%33%39%63%33%64%30%64%38%63%66%39%37%37%35%61%64%32%63%32%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%37%34%32%34%38%33%31%39%30%33%62%32%33%35%31%39%34%34%61%62%66%66%38%31%35%33%66%37%35%33%66%66%22%3e
© 2006 – 2017 by Luvsic. Some rights reserved.