でDrupalのノードを作成する私は、同じサイトから、JavaScriptでdrupalのノードを作成しているよ、と私は私が行くべき方向だろう。はjavascriptを
私はあなたがこれを行うには、サービス/ JSONを使用することができます知っているが、確かに簡単な方法がありますか?
おかげ
でDrupalのノードを作成する私は、同じサイトから、JavaScriptでdrupalのノードを作成しているよ、と私は私が行くべき方向だろう。はjavascriptを
私はあなたがこれを行うには、サービス/ JSONを使用することができます知っているが、確かに簡単な方法がありますか?
おかげ
の複雑さに行き詰まるとなることは簡単です、あなたはおそらくする必要がありますDrupalにmenu callbackがあり、AJAX要求を受け取りノードオブジェクトに変換してnode_saveで保存します。最も単純な形式で
、それがこの(誰もがこのコールバックを使用してノードを作成することができますので、ここでのチェックはアクセスがないことに注意してください)のようになりたい:示されたコードがするからです
<?php
/**
* Implementation of hook_menu().
*/
function demo_menu() {
$items = array();
$items['demo/js'] = array(
'title' => 'Demo page',
'page callback' => 'demo_js_page',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Page callback that saves a node.
*/
function demo_js_page() {
if (isset($_REQUEST['title'])) {
$node = new stdClass;
$node->type = 'blog';
$node->title = check_plain($_REQUEST['title']);
node_save($node);
drupal_set_message(t('Created node %title', array('%title' => $_REQUEST['title'])));
}
return t('Thanks for visiting');
}
をあなたのDrupalサイトのsites/all/modules/demo
のようなフォルダ内のdemo.module
ファイルに挿入されます。また、次のようなビットを持つdemo.infoファイルが必要です。
name = Demo module
description = Demo code.
core = 6.x
は、私が見たい最初の場所は、ここでは次のようになります。
そしてかどうかを確認するために
http://docs.jquery.com/Ajax/load#urldatacallback
最初のロード()関数に進みますそれはあなたのニーズに十分です。
に必要となる可能性があるAjax呼び出しの最も単純な形でスタートが、それはAJAXコールバックに加えて、より普遍的な$のアヤックス()
書き込まれていないノードモジュールの数が多いと、そのコードだけでは機能しません。また、これがうまくいく場合でも、node_prepareをnode_saveの前にノードを前処理して、コンテンツフィルタを適用したいと思うでしょう。 – FGM
ええ、新しいノードにタイトルを追加するのが最も一般的なユースケースではないかもしれません。私のコード例はおそらく、最小限のものとして記述されています:) – mikl
これは本当に古いものですが、これと同様のページコールバックでdrupal_executeを使用しています:http://drupal.org/node/293663では、カスタム機能、および適切な検証が含まれます。 CCKフィールドを持っているときに理想的です。 – hookd