মুদ্রণ নিবন্ধ এবং একই পৃষ্ঠায় লগইন ফর্ম


11

আমি কীভাবে একই পৃষ্ঠায় রেজিস্টার এবং লগইন ফর্মগুলি মুদ্রণ করব?

আমি মনে করি আমি সত্যিই কেবল ফর্ম আইডিগুলি সন্ধান করছি তবে আপনি যদি সঠিকভাবে রেন্ডার ফাংশনটি হাতে পান তবে এটি খুব প্রশংসা হবে।

উত্তর:


12
print(drupal_render(drupal_get_form('user_register_form')));
print(drupal_render(drupal_get_form('user_login_block')));

দেখুন user_register_form () এবং user_login_block () বিস্তারিত জানার জন্য। দ্রষ্টব্য এটি user_register_formএকটি অস্বাভাবিক ফর্ম বিল্ডার ফাংশন: এটি কিছু ক্ষেত্রে পুনর্নির্দেশ করে।


সুন্দর সাথী। নিখুঁত উত্তর!
এমসি

1
ড্রুপাল 8 এ এটি কীভাবে পাবেন? ধন্যবাদ।
স্টিফান

ফিল, সম্ভবত এটি কোনও উপকারে রয়েছে
আলারি ট্রুটস

6

আমি লগইনটোবগান থেকে কোডটি নিয়েছি। এই যে আমি পেয়েছিলাম।

/**
* Implementation of hook_theme()
*/
function os_pages_theme() {
  return array(
    'os_pages_login_form' => array(
      'variables' => array(
        'register_form' => NULL,
        'login_form' => NULL,
      ),
    ),
  );
}
/**
* Logintobbogin provides the code to consolidate
* the registration page and the login page however
* it doesn't do exactly the way we want so we will 
* take the code. 
* @see http://drupal.org/project/logintoboggan
*/

 /**
 * Implementation of hook_menu_alter().
 */
function os_pages_menu_alter(&$callbacks) {
  // Kill the tabs on the login pages.
  $callbacks['user/login']['type'] = MENU_NORMAL_ITEM;
  $callbacks['user/login']['page callback'] = 'os_pages_login_page';
  $callbacks['user/register']['type'] = MENU_CALLBACK;
  $callbacks['user/register']['page callback'] = 'os_pages_login_page';
  $callbacks['user/register']['page arguments'] = array('register');
  $callbacks['user/password']['type'] = MENU_CALLBACK;
  $callbacks['user']['page callback'] = 'os_pages_login_page';
}
/**
 * Menu callback for user/login
 *   creates a unified login/registration form (without tabs)
 */
function os_pages_login_page() {
  global $user;
  if ($user->uid) {
    menu_set_active_item('user/' . $user->uid);
    return menu_execute_active_handler(NULL, FALSE);
  }
  else {
    // Title just clutters the interface...
    drupal_set_title('');
    $output = os_pages_login_form();
    return $output;
  }
}
/**
 * Builds a unified login form.
 */
function os_pages_login_form() {
  $register_form = drupal_get_form('user_register_form');
  $login_form = drupal_get_form('user_login');
  $rendered_register_form = drupal_render($register_form);
  $rendered_login_form = drupal_render($login_form);
  $variables = array(
    'login_form' => $rendered_login_form,
    'register_form' => $rendered_register_form,
  );
  $output = theme('os_pages_login_form', $variables);
  return $output;
}
/**
 * Theme function for unified login page.
 */
function theme_os_pages_login_form($variables) {

  $register_form = $variables['register_form'];
  $login_form = $variables['login_form'];
  $output = '';

  $output .= '<div class="login-form">';

  // Add the login and registration forms in.
  $output .= '<div id="register-form">' . $register_form . '</div>';
  $output .= '<div id="login-form">' . $login_form . '</div>';

  $output .= '</div>';

  return $output;
}

4

এর জন্য আপনার এই জাতীয় নিবন্ধের জন্য একটি পৃষ্ঠা তৈরি করতে হবে

page-user-register.tpl.php

এবং যথারীতি পৃষ্ঠা বিষয়বস্তু মুদ্রণ করুন। সেই পৃষ্ঠাতে আপনি রেন্ডার চেষ্টা করতে পারেনuser_login_block

অতিরিক্ত সম্পদ

  1. http://www.trevorsimonton.com/blog/page-usertplphp-profile-php-template-drupal
  2. http://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_login_block/7

1
নির্বাচিত উত্তর drupal.stackexchange.com/a/27419/4471 বৈধতা ত্রুটি নিক্ষেপ করবে।
নিক্সম্যাক

4

লগইনটোবোগান আপনার জন্য এটি করুন: এটি ইনস্টল করুন এবং অ্যাডমিন / কনফিগারেশন / সিস্টেম / logintoboggan এ যান; "একটি ইউনিফাইড লগইন / নিবন্ধকরণ পৃষ্ঠা উপস্থাপন করুন" নির্বাচন করুন।


এছাড়াও যদি আপনি নিজের মডিউলটি লিখতে চান তবে আপনি এর উত্সটি দেখতে পারেন
মোহাম্মদ আলী আকবরী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.