در بعضی مواقع نیاز است با توجه به ارتباطاتی در محتوای دو سایت مقادیر سایت مبدا را در سایت مقصد استفاده نماییم امکانی که در دروپال فراهم شده اینست که از محتوای جدول یک سایت بتوان بدون انتقال اطلاعات در سایت دیگر استفاده کرد به عبارتی اطلاعات موجود در جدول مورد نظر در سایت مبدا را بتوان در سایت مقصد به اشتراک گذاشت .

به عنوان مثال :

می خواهیم  کاربران دو سایت به هم مرتبط دروپال را یکسان نماییم به گونه ای که یک محتوا را در دو سایت داشته باشیم سایت مبدا ما دارای کاربری با شناسه 20 است و این در حالی است که همین کاربر در سایت مقصد ما دارای شناسه  10 است صرفنظر از اینکه این کاربر در هر یک از سایت های مربوط به خود دارای ارجاعاتی به فیلد ها و ... باید در نظر داشته باشیم  که حذف یکی از جداول در یکی از سایت ها و مهاجرت و جایگزینی محتوای جدول از سایت دیگر باعث از دست رفتن کاربر و ارجاعات مربوط به کاربر می شود و علاوه برآن این دو سایت مستقل از یکدیگر خواهند بود جهت حل این مشکل یکی از روش های موجود اینست که این کاربر را در سایت مبدا با شناسه ای  بر فرض حدود 20000 اضافه کرد که این روش پیشنهاد نمی گردد

روش دوم اینست که با استفاده از امکانی به نام prefix  در تنظیمات دروپال به محتوای سایت مبدا دسترسی  داشته باشیم

مراحل کار به شرح زیر  می باشد :

در سایت مقصد فایل setting  (فایل مربوطه را می توان در مسیر ریشه سایت پوشه default/site یافت ) را در یک ویرایشگر متنی باز می کنیم  در قسمت مربوط به تنظیمات نام پایگاه داده و هاست و ... در کلید prefix  با استفاده از تعریف آرایه جدول مورد نظر را با اسم سایت مبدا مقدار دهی می نماییم در این حالت دروپال اطلاعات جدول مورد نظر خود را از سایت مبدا باز خوانی می کند در برخی مواقع  اگر از جدول مربوطه در سایت مقصد ارجاعات مهمی به قسمت های دیگر  پایگاه داده نداشته باشیم  به راحتی می توان محتوای جدول مربوطه و حتی خود جدول را حذف نماییم.

کد زیر در تنظیمات سایت اضافه گردد :

 

$databases = array (

  'default' =>

  array (

    'default' =>

    array (

      'database' => 'databasesite2',   //سایت مقصد

      'username' => 'root',

      'password' => '',          

      'host' => 'localhost',

      'port' => '',

      'driver' => 'mysql',

      'prefix' =>  array(

       'default'   => '',

       'users'     => 'databasesite1.',       //سایت مبدا

           ),

    ),

  ),

);

نکته : ذکر نام سایت مبدا به همراه نقطه الزامیست

در خط مشخص شده به دروپال می گوییم که محتوای جدول یوزر خود را از محتوای سایت مبدا بخواند

دیدگاه‌ها

تصویر ali ali

ali ali

سلام یه سوال
الان در سایت دوم لاگین شدیم میخوایم بریم سایت اول. اما در سایت اول هم نیاز به لاگین هست این مشکل رو چگونه برطرف کنیم؟

افزودن نظر جدید