jquery - 使用 javascript 创建 Drupal 节点

标签 jquery drupal

我正在寻找使用 javascript 从同一站点创建一个 drupal 节点,我想知道我应该朝哪个方向发展。

我知道你可以使用 services/json 来做到这一点,但肯定有更简单的方法吗?

谢谢

最佳答案

除了 AJAX 回调之外,您可能还需要 menu callback在 Drupal 中,它将接受 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

关于jquery - 使用 javascript 创建 Drupal 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960343/

相关文章:

php - 为什么我的 Drupal 间歇性变慢? Stracing 显示大量重复的 sendto 调用

php - 将现有站点迁移到 Drupal 之类的 CMS 或 Zend 之类的框架,或者两者都不迁移?

德鲁帕尔 6 : How to add a new region to a theme

javascript - 如何删除 mouseleave 上 append 的工具栏到主体或其他元素?

javascript - jQuery/AJAX 验证后提交

javascript - jquery 验证器插件第 86 行中的这个注释是什么

drupal 模块页面

Drupal 7,在一个管理面板中管理多站点内容

javascript - 滚动时添加文本阴影(jquery 或 javascript)

jquery - 使用 jQuery 创建一个新的 html5 视频对象