ฉันจะสร้างเว็บไซต์หลายไซต์พร้อมผู้ใช้และโหนดที่แชร์ได้อย่างไร [ปิด]


21

ฉันต้องการสร้างเว็บไซต์หลายไซต์ด้วย Drupal 7: ทุกไซต์ทำงานแยกจากกัน แต่ผู้ใช้และโหนดจะต้องใช้ร่วมกันระหว่างไซต์

ฉันจะประสบความสำเร็จได้อย่างไร

คำตอบ:


17

คุณสามารถเปลี่ยนการตั้งค่าสำหรับการเข้าถึงฐานข้อมูลที่มีอยู่ในไฟล์ settings.php ที่ไซต์ Drupal ของคุณใช้เป็นสิ่งที่คล้ายกับรายการต่อไปนี้ (แทนที่ค่าระหว่างวงเล็บด้วยค่าที่ถูกต้องสำหรับไซต์ของคุณ):

$databases['default']['default'] = array(
  'driver' => '[Your database engine]',
  'database' => '[Your database name]',
  'username' => '[Your username for the access to the database engine]',
  'password' => '[The password for the access to the database]',
  'host' => 'localhost',
  'prefix' => array(
    'default'   => 'main_',
    'users'     => 'shared_',
    'sessions'  => 'shared_',
    'role'      => 'shared_',
    'authmap'   => 'shared_',
  ),
  'collation' => 'utf8_general_ci',
);

1
หากฉันไม่ผิดการกำหนดค่านี้จะมีประโยชน์ก็ต่อเมื่อคุณมีฐานข้อมูลเดียวสำหรับไซต์ต่างๆ (และคุณต้องระบุคำนำหน้า) เป็นไปได้ไหมที่จะแบ่งปันตารางผู้ใช้จากฐานข้อมูลที่แตกต่างกัน?
ccamara

2
@ CarlosCámaraคุณไม่ถูกต้องโซลูชันนี้ใช้ฐานข้อมูลเดียวกันสำหรับทุกไซต์ แต่นำหน้าตารางที่แตกต่างกัน ดังนั้นในตัวอย่างด้านบนตารางส่วนใหญ่จะนำหน้าด้วย "main_" แต่ผู้ใช้เซสชันบทบาทและตาราง authmap จะนำหน้าด้วย "shared_" สำหรับไซต์เพิ่มเติมของคุณคุณจะใช้ส่วนนำหน้าแบบอื่นสำหรับ 'ค่าเริ่มต้น' (อาจเป็น 'site2_', 'site_3' ฯลฯ ) แต่ใช้คำนำหน้า 'shared_' ที่เหมือนกัน ข้อมูลนี้น่าจะถูกนำไปใช้ในคำตอบ
Dalin

สวัสดีฉันควรเปลี่ยนบรรทัดไหนเพื่อรับผู้ใช้และโปรไฟล์?
Tyler Durden

4
เพียงเพื่อชี้ให้เห็นว่าเมื่อ Dalin บอกว่าคาร์ลอสไม่ถูกต้องคาร์ลอสก็ถูกต้องทั้งหมดเมื่อดาลินกล่าวต่อไปในสิ่งเดียวกัน
leexonline

11

การแชร์ผู้ใช้และเนื้อหาระหว่างโดเมนต่าง ๆ เป็นสิ่งที่โมดูลDomain Accessใช้ โดยพื้นฐานแล้วมันช่วยให้คุณสามารถรันเว็บไซต์ Drupal หลายแห่งจากฐานข้อมูลเดียวกันและแบ่งปันเนื้อหา

เมื่อคุณติดตั้งเปิดใช้งานและกำหนดค่าโมดูลแท็บใหม่จะปรากฏขึ้นบนหน้าแก้ไขโหนดซึ่งอนุญาตให้คุณกำหนดเป้าหมายโหนดสำหรับโดเมนเฉพาะ นอกจากนี้ยังเล่นได้ดีกับมุมมองพาเนลและโมดูลอื่น ๆ ที่ใช้กฎการเลือก ctools

โซลูชันนี้แตกต่างจากไซต์หลายไซต์จริงซึ่งเป็นชุดหลักของไฟล์หลักและไฟล์ contrib แต่มีฐานข้อมูลที่แตกต่างกันสำหรับไซต์ต่างๆ


เราประสบความสำเร็จในการใช้การเข้าถึงโดเมนสำหรับโครงการสองแห่งที่มีเนื้อหา / ผู้ใช้บางส่วนหรือทั้งหมดที่ต้องการใช้ร่วมกันระหว่างไซต์ต่างๆ
drmonkeyninja

ตกลงฉันต้องการโมดูลที่แชร์, ธีม, ผู้ใช้และการกำหนดค่าทั้งหมดตัวอย่างเช่นเมื่อโมดูลการกำหนดค่าในทุกเว็บไซต์ทำงาน อันที่จริงแล้วเว็บไซต์ของฉันเป็นเว็บไซต์หลายภาษาที่มีฐานข้อมูลสำหรับแต่ละภาษาที่ฉันอยู่ที่บ้านเมื่อมีการเปลี่ยนแปลงที่ทุกไซต์การเปลี่ยนแปลงเหล่านี้อาจเป็นฟิลด์หรือติดตั้งโมดูล

แง่มุมหนึ่งของการเข้าถึงโดเมนและการแชร์ทุกอย่างที่เหมือนกันระหว่างหลาย ๆ ไซต์คือคุณต้องใช้โมดูลอื่นเพื่อดึงเนื้อหาออกจากกันหากคุณต้องการแสดงเฉพาะสิ่งที่ต้องการบนไซต์เฉพาะ การเข้าถึงโดเมนและโมดูลที่มาพร้อมกันนั้นทำได้ค่อนข้างดีการเข้าถึงโดเมนจะจัดการกับปัญหาหลายไซต์จากมุมตรงข้ามจาก drupals ที่สร้างขึ้นในหลายไซต์
leexonline

2

นี่เป็นบิตที่ซับซ้อน แต่คุณสามารถสร้างสภาพแวดล้อมแบบหลายไซต์ด้วยผู้ใช้ที่ใช้ร่วมกันและฐานข้อมูลหลาย ๆ ฉันคิดว่ามันซับซ้อนมากถ้าคุณต้องการแยกฐานข้อมูลกับผู้ใช้และโหนดที่ใช้ร่วมกัน ดูที่เอกสารนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าต่างๆด้วยข้อดีข้อเสีย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.