Drupal 6.xx用の便利で興味深いモジュール+ヒントとコツ(パートI)

昨年4月、habrayuzer @ 7pacaは便利なモジュールに関する優れた記事を書いたので、それを続けることにしました



モジュール:





Filefield Paths -filefieldフィールドを介してアップロードされたファイルの独自のトークンテンプレートを作成できます。 ギャラリーで写真を整理するのに便利です( Image FUploadでは機能しません)。



Uploadpath-ディレクトリまたはサブディレクトリにファイルを保存するためのトークンテンプレートの使用を許可します。



送信を非表示-クリックした後、「送信」ボタンを非表示にできます。 データの再送信から保護します。



Uploadify-マルチブートファイル。 このモジュールはまだ開発中ですが、多くがすでに使用を開始しています。



WordPressのコメント-WordPressのようにコメントに慣れている人向け



私を覚えておいてください -モジュールは承認フォームに「私を記憶する」チェックボックスを追加します



プリンター、電子メール、およびPDFバージョン -このモジュールでは、ページを印刷し、メールで送信し、PDFに変換できます。



1つのページプロファイル -ユーザープロファイルにはタブがなく、すべてが1つのページに配置されます。 とても快適



連絡先添付 -ユーザーは、フィードバックフォーム経由で送信されたレターにファイル(添付)を添付できます。



フラグ -「ブックマークに追加」など、素材にマークを付けることができます。 ユーザーのページに出力ビューがあります。 あらゆるニーズに完全に対応



XMLサイトマップ -サイトマップの生成。



コメント通知 -便利なコメント購読



LoginTobogganは、ログインと電子メールの両方を使用して承認を整理するための非常に便利なモジュールです。 たくさんの機会。



スケジューラは、このタスクスケジューラを使用して、特定の日付に資料を簡単に公開または非公開できます。



Imagecacheアクション -このモジュールを使用すると、ダウンロードした画像にプリセットを割り当てることができます。たとえば、オーバーレイの透かし、オーバーレイテキスト、背景の裏地などです。



Privatemsg-サイトユーザー間の内部通信を整理するためのモジュール



いくつかのヒント(プロジェクトで使用するかどうかはあなたの権利です):



jQueryでフィールドを検証する




個人的にはDrupalバリデーターが好きではなく、jquery.validateを統合しました



実際に統合しても問題ありません。

プラグインをダウンロードします。

テーマディレクトリにjsディレクトリを作成し、そこにjquery.validate.min.jsを配置します。



YOUR_TEMA.infoを開き、そこにプラグインを差し込みます:

scripts[] = js/jquery.validate.min.js



* This source code was highlighted with Source Code Highlighter .








jsディレクトリは、パス/ sites / all / themes / your_topic /の下に配置する必要があります



ディレクトリ/ sites / all / themes / your_topic / js /にscripts.jsファイルを作成し、その中に以下を記述します:



$().ready(function() {

$( "#comment-form" ).validate();

});

</pre>




* This source code was highlighted with Source Code Highlighter .








注:すべてのスクリプトを同じファイルに埋め込むことができます。



登録時にフィールドが入力されているかどうかを確認するには、次の操作を行います。



$().ready(function() {

$( "#comment-form, #user-register" ).validate();

});




* This source code was highlighted with Source Code Highlighter .








注: #comment-formは、チェックするフォームの識別子です。 ページコードを見るとIDを見つけることができます。



それだけです!



ソリューションターゲット= _blank




このコードを/sites/all/themes/your_theme/js/scripts.jsに貼り付けます



$(function(){

$( '._blank a' ).click(function(){

window.open( this .href);

return false ;

});

});




* This source code was highlighted with Source Code Highlighter .








使用例:



< span class =" _blank >< a href ="http://habrahabr.ru" > Habrahabr </ a ></ span >



* This source code was highlighted with Source Code Highlighter .








または、リンクがテキストに表示される場合-



< div class ="content _blank" >

< p >

< a href ="http://www.lipsum.com/" > Lorem ipsum </ a > dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. < a href ="http://www.lipsum.com/" > Excepteur </ a > sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

</ p >

</ div >




* This source code was highlighted with Source Code Highlighter .








primary / secondary_linksにスパンタグを追加する




このコードを/sites/all/themes/your_theme/js/scripts.jsに貼り付けます



// Wrap span tags around the anchor text in the primary menu.

$(document).ready(function(){

$("#primary li a")

.wrapInner(" < span > " + " </ span > ");

});




* This source code was highlighted with Source Code Highlighter .








トピックのtemplate.phpでこのコード:



/**

* Override the theme_links function

*

* We use this to insert <span></span> tags around anchor text in the

* primary and secondary links. We need these to support Internet Explorer

* when building sliding door tabs with hover effects.

*/

function __links($links, $attributes = array( 'class' => 'links' )) {

$output = '' ;

if (count($links) > 0) {

$output = '<ul' . drupal_attributes($attributes) . '>' ;



$num_links = count($links);

$i = 1;



foreach ($links as $key => $link) {

$ class = $key;



// Add first, last and active classes to the list of links to help out themers.

if ($i == 1) {

$ class .= ' first' ;

}

if ($i == $num_links) {

$ class .= ' last' ;

}

if (isset($link[ 'href' ]) && ($link[ 'href' ] == $_GET[ 'q' ] || ($link[ 'href' ] == '<front>' && drupal_is_front_page()))) {

$ class .= ' active' ;

}



$output .= '<li' . drupal_attributes(array( 'class' => $ class )) . '>' ;



// wrap <span>'s around the anchor text

if (isset($link[ 'href' ])) {

$link[ 'title' ] = '<span>' . check_plain($link[ 'title' ]) . '</span>' ;

$link[ 'html' ] = TRUE;

// Pass in $link as $options, they share the same keys.

$output .= l($link[ 'title' ], $link[ 'href' ], $link);

}

else if (!empty($link[ 'title' ])) {

// Some links are actually not links, but we wrap these in <span> for adding title and class attributes

if (empty($link[ 'html' ])) {

$link[ 'title' ] = check_plain($link[ 'title' ]);

}

$span_attributes = '' ;

if (isset($link[ 'attributes' ])) {

$span_attributes = drupal_attributes($link[ 'attributes' ]);

}

$output .= '<span' . $span_attributes . '>' . $link[ 'title' ] . '</span>' ;

}



$i++;

$output .= "</li>\n" ;

}



$output .= '</ul>' ;

}

return $output;

}



* This source code was highlighted with Source Code Highlighter .








ビューテンプレートの配置




/ sites / all / themes / our_theme /に多くのテンプレートがある場合、それは非常に不快です。 たくさんの恥をかかせます。 もちろん、あなたのサイトやブログのテーマを作成したのがあなたであったとしても混乱はありませんが、テーマのあるディレクトリ内の多数のファイルは迷惑です!



解決策があります!



テーマが含まれるディレクトリにビューフォルダを作成し、そこにフォームviews-view-fields-gallery-page.tpl.php(または同様の)のすべてのテンプレートを転送します。



テーマ設定(/ admin / build / themes / settings)に移動し、[保存]をクリックします。



たとえば、何かが見つからないというエラー出力などの問題がある場合は、作成されたビューに移動して、[再スキャン(再スキャン)]をクリックし、ビューを保存します。 それだけです 多かれ少なかれ順序。

ビューテンプレートの整理に関する情報があります。



頑張って



UPD: クリグは貴重なコメントをしました



建設

$( document ).ready( function (){

// do some fancy stuff

});




* This source code was highlighted with Source Code Highlighter .






に変更

Drupal.behaviors.myModuleBehavior = function (context) {

//do some fancy stuff

};




* This source code was highlighted with Source Code Highlighter .








パートII




All Articles