سؤال

I have a Drupal 7 function named _home() that is called by the home URL.

In this function I want to generate HTML output and, returning it. I need to show the resulting HTML to the user. Actually I embed HTML tags (div, tables,b...) inside the function and return to the user. It runs but I think there must be a better way to do it, maybe using templates or themes. Is there a way to apply a template to the _home function even if it is not a node/another Drupal object?

هل كانت مفيدة؟

المحلول

if the "home" url is being created using modules then the following might be useful for you.

In your module file create
function modulename_theme($existing, $type, $theme, $path)
   {
   $theme_hooks = array(
    'home' => array(
      'template' => 'home',//name of template file will be home.tpl.php
      'path' => $path . '/templates',
      'variables' => array(
      ),
    ));
     return $theme_hooks;
    }
    //As _home is the callback function for "home" url
    function _home($node)
    {
    return theme('home', array('node' => $node));
    }



Now under your module create a templates folder & in that create home.tpl.php & place your html in that file..
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top