Sunday, May 12, 2013

How to use xmlrpc in Drupal 7


I'm new to Drupal but after grance thru many article, this is the most easier for me to understand.

Here is the references link: http://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_xmlrpc/7

But you may read my finding too. :)

Step 1:
Add the piece of code in sites\yourproject\modules\custom\yourmodule

function yourmodule_xmlrpc() {
  return array(
    'yourmethodName' => 'yourfunctionName',
    array(
      'yourmethodName',      'yourfunctionName',      array(  // The element might be diff and it base on application call back and answer
        'boolean',  //The first element of this array is the type of return value 
        'string',   //You can do just answer or more elements
        'string',
        'string',
        'string',
        'string',
      ),
      t('Handling ping request'),
    ),
  );
}

Step 2:
Add the piece of code in sites\yourproject\modules\custom\yourmodule
// Assume you need to save parameter4 which is array into node table
function yourfunctionName($parameter1, $parameter2, $parameter3, $parameter4) {        
      foreach($parameter4 as $arr){
            $node = new stdClass();
            $node->type ='contenttypename';
            $node->uid = 1;
            $node->title = $arr['title'];
            $node->status;
            $node->body[$node->language][0]['format'] = 'full_html';
            $node->body[$node->language][0]['summary'] = text_summary($arr['body']);
            $node->body[$node->language][0]['value']   = $arr['body'];
            if($node = node_submit($node)){
                 node_save($node);
           }
       }
      $answer = array('code', 'record saved');
      return $answer;   // 
}

No comments:

Post a Comment