drupal-7で、コンテンツページフィルターにフォーム検索を追加したり、フィルターフォームにテキストボックスを追加して、ノードのタイプとパブリッシングプロパティの横にあるノードタイトルでノードをフィルターする方法はありますか
管理メニュー モジュールには、「管理ビュー」と呼ばれる素晴らしいサブモジュールがあり、Drupalコアコンテンツ管理ページをビューに置き換えます。また、追加のフィルターと検索を追加します関数。
私はこれに似たものを探していました..テンプレートファイルにJSハックを入れただけです。それはかなり怪しげですが、うまく機能し、コードをモジュールに「コンパイル」する方法がわかりません(私はそのことに頭を悩ませることはできませんでした)。とにかく、これが私の管理テーマのpage.tpl.phpの下部にドロップしたコードです。
<?php ///THIS IS A HACKY SOLUTION TO PROVIDE SEARCH FUNCTIONALITY
if(implode('/',arg())=='admin/content'):
?>
<script type="text/javascript">
jQuery(document).ready(function($){
$("#edit-filters").append('<div id="hacky-search"><legend><span class="fieldset-legend">Search</span></legend><input type="text" /></div>');
var titlesArray = new Array();
var wordsArray = new Array();
$("#node-admin-content tbody tr").each(function (e) {
titlesArray[e] = $(this).find('td:eq(1)').text().replace(/^\s+|\s+$/g, "");
});
/**/
$("#hacky-search input").bind('keyup blur change', function () {
var theSearch = $(this).val().replace(/^\s+|\s+$/g, "");
if (theSearch > "") {
$("#node-admin-content tbody tr").addClass('hidden');
for (i = 0; i < titlesArray.length; i++) {
theItem = titlesArray[i].toLowerCase();
if (theItem.search(theSearch.toLowerCase()) > -1) {
$('#node-admin-content tbody tr:eq(' + i + ')').removeClass('hidden');
}
}
} else {
$("#node-admin-content tbody tr").removeClass('hidden');
}
$("#node-admin-content tbody tr").removeClass('even').removeClass('odd');
$("#node-admin-content tbody tr:not(.hidden)").each(function(e){
if(e%2==0){
$(this).addClass('odd');
}else{
$(this).addClass('even');
}
});
//$('h2').text(theSearch);
});
});
</script>
<style type="text/css">
#hacky-search{
position: absolute;
right: 15px;
top: 0;
text-align:right;
}
#hacky-search legend{
position:relative;
}
#hacky-search legend span{
right:0;
}
#hacky-search input{
border: 1px solid #CCCCCC;
margin-top: 33px;
padding: 2px 4px;
width: 200px;
}
#node-admin-content tr{
}
#node-admin-content tr.hidden{
display:none;
}
</style>
<?php
endif;
?>
Drupal 6には「 コンテンツ管理フィルター 」モジュールがありましたが、7に移植されていません。いつでもビューといくつかの公開フィルターを使用して独自のモジュールを構築できます。
「一括操作」オプションが気に入った場合は、 [〜#〜] vbo [〜#〜] モジュールでも同じことができます。