1

Drupal-7 の swiper (v 7.x-1.4) モジュールのオプションを変更する方法を見つけるために、数日間探していました。ドキュメントは、モジュールがこのフックの使用をどのように期待するかを説明する泥のように明確です。スワイパー API から次のオプションを実装する方法に関する簡単なコード例を探しています。

autoplay
prevButton
nextButton
autoplayDisableOnInteraction

私が見つけた唯一のドキュメント リファレンスは、モジュールの README.txt からのものです。

...
You can also add, change and remove, any of API options of the Swipers, 
just you need to implement a hook:
hook_swiper_options_alter($node, $plugin_options) {}

This way the module will handle pass these options to the script that 
instantiates the swiper Plugin.
...

私は Drupal にかなり慣れていませんが、学ぼうとしています。これらのオプションを実装するための簡単なカスタム モジュールを作成しようとしました。モジュールを myCustom と呼び、次のファイルを含む /drupal/sites/all/modules/myCustom ディレクトリを作成しました。

myCustom.info:

name = myCustom
description = customize swiper
package = me
version = 0.02
core = 7.x

files[] = myCustom.module

myCustom.module:

<?php
function myCustom_swiper_options_alter($node, $plugin_options) 
{
  $plugin_options += (
    nextButton: '.swiper-button-next',
    prevButton: '.swiper-button-prev',
    paginationClickable: true,
    autoplay: 2500,
    autoplayDisableOnInteraction: true
  );
  return($node, $plugin_options);
}

私は複数の問題を抱えていることを知っています。Drupal は私のモジュールをそのまま有効にすることを拒否し、その理由がわかりません。admin->reports->recent log messages レポートを確認しましたが、少なくともトラブルシューティングに役立つものは見つかりませんでした。

これを修正する方法はありますか?このフックを機能させるためにコピーおよび変更できるコードの実際の例はありますか?

ご協力いただきありがとうございます。

4

1 に答える 1

2

次のドキュメントを読むことをお勧めします:モジュール .info ファイルの作成 (Drupal 7.x)

  • ファイルから次の行を削除し.infoます: files[] = myCustom.module. Drupal はファイルを自動的に読み取り.moduleます。

  • ファイルでバージョンを定義した.infoため、注意が必要な場合があります:リリース命名規則ですが、実際にはそれを省略してもかまいません。必須ではありません。

  • その swiper モジュールのフックを使用しているため、カスタム モジュールの.infoファイルで依存関係として設定することをお勧めします:dependencies[] = swiper満たされていない依存関係エラーを防ぐため。

  • 配列をphp配列に変更し、$plugin_options何も返さない:

    <?php
    
    function YOUR_MODULE_swiper_options_alter($node, &$plugin_options) {
    
        $plugin_options += array( 
            'nextButton' => '.swiper-button-next',
            'prevButton' => '.swiper-button-prev',
            'paginationClickable' => true,
            'autoplay' => 2500,
            'autoplayDisableOnInteraction' => true,
        );
    
    }
    
  • さらに:マシン名(モジュール ディレクトリ名)ごとに、モジュール名に大文字を使用しないようにしてください。の他の Drupal モジュールを見てみると、すべて小文字になっています/modules(現在のように、モジュール リストでモジュールを表すsites/all/modules名前をファイルに残すことができます。).info

于 2015-06-06T18:53:47.193 に答える