Multiple nodes with the same URL with Custom Module

Categories

Component ID

1989686

Component name

Multiple nodes with the same URL with Custom Module

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

1. Step) create MODULE INFO file like: name_gajendra.info

name = custom name_gajendra
description = name numerology
package = Drupal 7 Development
core = 7.x

2. Step) Create MODULE FILE like: name_gajendra.module


function name_gajendra_menu() {
  $items = array();

  $items['gajendra/name_gajendra'] = array( 
    'title' => 'Name Meaning',
    'description' => 'Name  Meaning',
   'page callback' => 'name_gajendra_output', 
//	  'page callback' => 'drupal_get_form',
//    'page arguments' => array('name_numerology_form'),
    'access callback' => TRUE
  );

  return $items;
}

function name_gajendra_output() {
    $input_name = arg(2);
	header('Content-type: text/plain; charset=UTF-8');
	header('Content-Disposition: inline');
	
	$name_number = name_number($input_name);
	if ( isset($name_number) && isset($input_name) )
		{
		$display_message = "$input_name, your numerology number is $name_number";
	    drupal_set_message($display_message);
		
		$node = node_load(4); //hard coded now, write code to get node number dynamically based on name_number
		$lang = $node->language;
		$field = 'body';
		$value = '';
		if ( isset($node->{$field}[$lang]) && isset($node->{$field}[$lang][0]) )
		{
			$value = $node->{$field}[$lang][0]['value'];
		}
		return $value; 
		}
	else 
		{
		$display_message = "$input_name, Invalid Input. Enter your name";
		return  $display_message;
		}
	}
	
function name_number($name)
{
$nnumber = rand(1,9);
return $nnumber;
}


3. Step) Create module name page  like: page--name_gajendra.tpl.php , and print content region and fields.

<?php
render($page['content']);

Thanks
Gajendra kumar sharma