Skip to main content

Getting the node body with the index method call - services module drupal 7

The api call to the index method i.e. http://domain/?q=endpoint/node returns an index of nodes (this call can be paged too. e.g. http://domain/?q=endpoint/node.json&page=2&pagesize=10 ).
It does not return the node body with it.
node body is in a separate table (field_data_body) table
I needed the index to contain the body too, which I can parse and display as a feed on my application.
I was looking at "services views" module but could not it to work.
So I hacked around and played around with the node_resource's index method to respond back with the join of the two tables and thus containing the node body for a given node id.

Code snippet:

function _node_resource_index($page, $fields, $parameters, $page_size) {
  module_load_include('inc', 'services', 'services.module');
  $start = (($page)-1)*$page_size;
  $query = db_select('node', 'n');
  $query->join('field_data_body', 'u', 'n.nid = u.entity_id'); //JOIN node with field_data_body to get node body
  $query->fields('n',array('title','created'))//SELECT the fields from node
    ->fields('u',array('body_value'))//SELECT the fields from field_data_body
    ->orderBy('created', 'DESC')//ORDER BY created
    ->range($start,$page_size);//LIMIT records if (!user_access('administer nodes')) {
}
  $result = services_resource_execute_index_query($query);
  return services_resource_build_index_list($result, 'node', 'nid');
  }

Comments

Popular posts from this blog

सूनापन

मुद्दत हो गयी उन तन्हायियो को गुजरे , फिर भी इन आँखों में नमी क्यों है  ? तोड़ दिया मोहब्बत पर से यकीन मेरा, फिर भी मेरी दुनिया में तेरी कमी क्यों है ? हसरत है क्यों आज भी तेरी चाहत की मुझे, क्यों याद तेरी जेहेन से मिटती नहीं ? जलजला क्यों उमड़ता है ख्वाबो में मेरे, उस आशिकी की आगज़नी क्यों है  ? सन्नाटो में भी क्यों सुनता हू तुझे मेरी परछाई से क्यों तू जाती नहीं ? इन डबडबाती आँखों को तलाश तेरी, आज भी कहीं क्यों है   ?

How the Python import system works

How the Python import system works From:  https://tenthousandmeters.com/blog/python-behind-the-scenes-11-how-the-python-import-system-works/ If you ask me to name the most misunderstood aspect of Python, I will answer without a second thought: the Python import system. Just remember how many times you used relative imports and got something like  ImportError: attempted relative import with no known parent package ; or tried to figure out how to structure a project so that all the imports work correctly; or hacked  sys.path  when you couldn't find a better solution. Every Python programmer experienced something like this, and popular StackOverflow questions, such us  Importing files from different folder  (1822 votes),  Relative imports in Python 3  (1064 votes) and  Relative imports for the billionth time  (993 votes), are a good indicator of that. The Python import system doesn't just seem complicated – it is complicated. So even though...

Todo lists are overrated

My tasks come from a variety of sources: 1) Tasks from emails  2) Meeting notes with details of people who participated  3) Project related tasks that can have a long format and can be tagged/ delegated  4) Scratchpad for unrefined ideas  5) Detailed documentation for completed technical tasks / ideas  6) FIFO list of high priority small daily tasks No one app has been able to map all the requirements above, and I have tried a lot of them! In my lifetime I’ve tried a dozen todo apps. In the beginning they all seem different, novel and special. Slick UI, shortcuts, tags, subtasks, the list goes on and on. But all our stories were the same: I start using the new app, then after awhile I stop using it. Up until the last week I thought the problem was in myself (you probably think so too). After all, David Allen seems to have figured this shit out. Also there are people leaving long 5 star reviews on every major todo list app, they discuss them on forums, recommend ...