2013-05-29 4 views
6

Drupal 7でCommerce Suiteモジュールを使用して電子ショップを設定しています。ショップを通じて、物流サービスが毎日提供されています。Drupal commerce checkoutの一環としてFullcalendar

チェックアウトプロセスの1つは、サービスの可用性を持つカレンダーをユーザーに表示することです。サービスが利用可能な日が表示され、ユーザーはチェックアウトプロセスの一環として1日を選択し、次のチェックアウト画面に進むことができるはずです。

https://drupal.org/project/fullcalendar

I:

http://arshaw.com/fullcalendar/

はdrupalの内の関連するプラグインがあります:

私は、ユーザーの日々の可用性を表示するためにFullcalendarスクリプトを使用したいと思います私のサイトに通常のフルカレンダーのページを表示することができます。私が本当に立ち往生している部分は、チェックアウトプロセスの一環としてFullcalendarペインを作成し、ユーザーの選択を注文に格納する方法です。私はカレンダーを追加する商取引余分ペインのモジュールを試してみました

:私は成功していないが

https://drupal.org/project/commerce_extra_panes

。私はペインとしてfullcalendarブロックを表示する方法を理解できません。

私はDrupal commerce、fullcalendarモジュール、およびcommerce extra paneモジュールのドキュメントを読んだことがありますが、fullcalendarをペインとして表示する方法はまだ分かりません。カスタムモジュールを作成しようとしましたが、プログラムでfullcalendarを出力する方法がわかりません。

誰もこれまでに行ったことはありますか?これらのモジュールを介してチェックアウトプロセスにこの機能を追加する方法はありますか?

答えて

4

私は座ってこのことをもう一度見て、これを実装する方法を見つけました。

まず、フルカラーのDrupalプラグインを使ってみましたが、この特定の機能では不必要に複雑であることが判明しました。また、fullcalendarプラグインの出力をペインに追加する方法もあまり明確ではありませんでした。商用の余分なペインは、この場合にも役に立たなかった。

だからここに私がやったことだ:

1)私は、カスタムペインを設定するモジュールを作成しました。ここコマースチェックアウトペインを設定するモジュールの一部だ:

function custom_checkout_commerce_checkout_pane_info() { 
    $panes = array(
    'custom_checkout_date' => array(
     'title' => t('Select a date'), 
     'base' => 'custom_checkout_date_pane', 
     'page' => 'route_date', // default checkout page 
     'weight' => -5, 
     'file' => 'includes/pane_route_date.inc' // Form functions 
    ) 
); 

    return $panes; 
} 

ここペイン自体に含まれているものです。

隠しフィールド「selected_date」はカレンダーの結果を格納し、それが注文に追加されます。

次に、Drupalライブラリフォルダにfullcalendarを追加し、drupal_add_jsを使用してfullcalendarペインが配置されているページに追加しました。

次に、AJAXコールバックページを作成しました。このページは、顧客が注文したパラメータと一致する利用可能な日付を返すために使用されます。

次に、Fullcalendar eventClickコールバックをオーバーライドして、各イベントのクリックハンドラを追加しました。したがって、ユーザーがイベントをクリックすると、イベント日付が非表示フィールドに設定され、現在のコマースのチェックアウトペインが送信され、次のイベントに移動します。

このように、最終的に何をすべきかを知りましたが、多くの面倒な作業が必要でした。また、多くの部分がうまく文書化されていないか、 (

とにかく、この問題の問題は解決されました。これはDrupal商取引のチェックアウト部分と同じ(または同様の)問題に取り組んでいる人に役立ちます。

関連する問題