Làm cách nào để tạo nhiều trang với người dùng và nút được chia sẻ? [đóng cửa]


21

Tôi muốn tạo một multisite với Drupal 7: Mỗi trang web hoạt động riêng biệt nhưng người dùng và các nút phải được chia sẻ giữa các trang web.

Làm thế nào để tôi đạt được nó?

Câu trả lời:


17

Bạn có thể thay đổi cài đặt để truy cập vào cơ sở dữ liệu có trong tệp settings.php được sử dụng bởi trang web Drupal của bạn thành một cái gì đó tương tự như sau (thay thế các giá trị giữa các dấu ngoặc bằng các giá trị chính xác cho trang web của bạn):

$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
Nếu tôi không sai, cấu hình này chỉ hữu ích nếu bạn có một cơ sở dữ liệu cho các trang web khác nhau (Và do đó bạn phải cung cấp tiền tố). Có thể chia sẻ bảng người dùng từ các cơ sở dữ liệu khác nhau?
ccamara

2
@ CarlosCámara bạn không chính xác, giải pháp này sử dụng cùng một cơ sở dữ liệu cho tất cả các trang web, nhưng các tiền tố bảng khác nhau. Vì vậy, trong ví dụ trên, hầu hết các bảng sẽ có tiền tố là "main_", nhưng các bảng người dùng, phiên, vai trò và authmap sẽ được thêm tiền tố vào "shared_". Đối với các trang web bổ sung của bạn, bạn sẽ sử dụng một tiền tố khác cho 'mặc định' (có thể là 'site2_', 'site_3', v.v.) nhưng cùng một tiền tố 'shared_'. Thông tin này có lẽ nên được đưa vào câu trả lời.
Dalin

Xin chào, tôi nên thay đổi dòng nào để có được người dùng và hồ sơ?
Tyler Durden

4
Chỉ cần chỉ ra rằng khi Dalin nói Carlos không chính xác, Carlos hoàn toàn chính xác, vì Dalin tiếp tục phát biểu chính xác điều tương tự.
leexonline

11

Chia sẻ người dùng và nội dung giữa các tên miền khác nhau là những gì mô-đun Truy cập Miền dành cho. Về cơ bản, nó cho phép bạn chạy nhiều trang web Drupal từ cùng một cơ sở dữ liệu và chia sẻ nội dung.

Khi bạn cài đặt, bật và định cấu hình mô-đun, một tab mới sẽ hiển thị trên trang chỉnh sửa nút cho phép bạn nhắm mục tiêu một nút cho các tên miền cụ thể. Nó cũng chơi độc đáo với các khung nhìn, bảng điều khiển và các mô-đun khác sử dụng quy tắc lựa chọn ctools.

Giải pháp này khác với multisite thực sự, là một tập hợp chung của các tệp lõi và đóng góp, nhưng cơ sở dữ liệu khác nhau cho các trang web khác nhau.


Chúng tôi đã sử dụng thành công Truy cập tên miền cho một vài dự án trong đó một số hoặc tất cả nội dung / người dùng cần chia sẻ giữa các trang web khác nhau.
drmonkeyninja

ok tôi cần chia sẻ các mô-đun, chủ đề, người dùng và tất cả các cấu hình ví dụ khi mô-đun cấu hình trong tất cả các trang web chạy. Trên thực tế, trang web của tôi là một trang đa ngôn ngữ chứa cơ sở dữ liệu cho từng ngôn ngữ tôi ở nhà khi áp dụng thay đổi tại tất cả các trang web Những thay đổi này có thể là một trường hoặc cài đặt một mô-đun

Một khía cạnh của Truy cập tên miền và chia sẻ mọi thứ giống nhau giữa nhiều trang web là bạn cần các mô-đun khác để tách nội dung ra nếu bạn muốn chỉ hiển thị những thứ cụ thể trên các trang web cụ thể. Truy cập tên miền và các mô-đun đi kèm thực hiện khá tốt điều này, truy cập tên miền đã giải quyết vấn đề đa diện từ góc độ ngược lại với các drupal được xây dựng trong multisite.
leexonline

2

Điều này hơi phức tạp, nhưng bạn có thể tạo một môi trường nhiều trang web với người dùng được chia sẻ và nhiều cơ sở dữ liệu. Tôi nghĩ sẽ rất phức tạp nếu bạn muốn có cơ sở dữ liệu riêng biệt với các nút AND người dùng chung. Hãy xem tài liệu này để biết thêm thông tin về các thiết lập khác nhau với ưu và nhược điểm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.