Làm cách nào để thay đổi trang chủ của tôi dựa trên thời gian trong ngày?


8

Tôi đã tìm kiếm cao và thấp cho việc này. Làm cách nào để thay đổi trang chủ của tôi dựa trên thời gian trong ngày? Để được hoàn toàn rõ ràng, tôi muốn:

  1. Từ 8 giờ sáng đến 7 giờ tối - Trang chủ 1 (nút / 4)
  2. Từ 7 giờ tối đến 8 giờ sáng - Trang chủ 2 (nút / 5)

Vì vậy, tôi muốn thiết kế hai trang chủ hoàn toàn khác nhau và sau đó chúng thay đổi dựa trên thời gian trong ngày.

Tôi đã thử một số mã nhưng nó dường như không thực hiện công việc:

$current_front = variable_get('site_frontpage');

if($current_front== 'node/4'){
    variable_set('site_frontpage','node/5');
}else{
    variable_set('site_frontpage','node/4');
}

Lưu ý : Tôi không phải là người thích viết mã nên sẽ không biết bắt đầu từ đâu với hook và tôi cách xa hàng triệu năm để tạo các mô-đun của riêng mình.


1
xem câu hỏi này ( drupal.stackexchange.com/questions/1884/ nay ) để biết thêm thông tin về việc thay đổi trang đầu theo chương trình.
Geoff

Câu trả lời:


6

Cân nhắc sử dụng mô-đun Rules để đặt nút thích hợp làm frontpage của bạn.

Dựa trên mẫu trong câu hỏi, tôi giả sử rằng nút / 4 là giá trị của site_frontpage. Đây là quy tắc thực tế được tạo ra có thể hoạt động trong trường hợp của bạn:

  1. Tạo quy tắc mới
  2. Sự kiện = Nội dung được xem
  3. Điều kiện: so sánh dữ liệu -> node:nidbằng4
  4. Thêm một điều kiện bổ sung để kiểm tra xem thời gian hiện tại là từ 7 giờ tối đến 8 giờ sáng.
  5. Hành động: chuyển hướng trang đến node/5

Đối với bất kỳ ai không quen thuộc (đủ / chưa) với Quy tắc , hãy xem hướng dẫn bằng video tuyệt vời (+ miễn phí) 32 (!!!) Tìm hiểu khung Quy tắc . Cũng có thể là bộ 8 video hướng dẫn tương tự về mô-đun Flag , thường được coi là phần bổ sung tự nhiên cho mô-đun Rules. Cũng có thể xem lại bộ 30 hướng dẫn bằng video về mô-đun Lượt xem ... Sự quen thuộc chỉ với 3 mô-đun đó ( Lượt xem , Quy tắcCờ ) có thể giúp bạn đi khá xa trong hầu hết mọi trang web Drupal (với tư cách là người xây dựng trang web).


Không chắc tôi có kỹ năng cho việc đó, nhưng cảm ơn. Tôi đã tìm thấy cái này dường như hoạt động như một quy tắc lựa chọn trong một bảng: code$ now = time (); $ day = ngày ("D", $ ngay bây giờ); return $ day == "Tue, codetôi chỉ cần điều này là từ 8 giờ sáng đến 7 giờ tối, nếu có ai biết làm thế nào tôi có thể làm điều đó, tôi rất biết ơn. Cảm ơn.
Rich Stevens

Cuối cùng làm việc ra; đã thêm điều này vào quy tắc lựa chọn bảng điều khiển của tôi: code$ now = time (); $ day = ngày ("G", $ ngay bây giờ); trả lại $ ngày <"15"; codeĐối với bất kỳ ai vô dụng như tôi, điều này có nghĩa là tôi đang kiểm tra xem thời gian có trước 15:00 giờ hay không, nếu đúng thì quy tắc này được thông qua để bảng điều khiển của tôi hiển thị. Cảm ơn.
Rich Stevens

3

Tôi sẽ đề xuất một mô-đun tùy chỉnh với một vài móc cron (trong một hàm hook_cron ).

  • Đặt một móc cron (A) để thay đổi trang trước thành nút / 4.
  • Đặt móc cron khác (B) để thay đổi trang trước thành nút / 5.
  • Cài đặt Ultimate Cron và sử dụng bộ lập lịch Crontab.
  • Đặt móc A thành * 8 * * *
  • Đặt móc B thành * 19 * * *

Tất nhiên, điều đó sẽ chỉ hoạt động dựa trên đồng hồ máy chủ của bạn và sẽ không thay đổi dựa trên múi giờ của người dùng. Nếu bạn muốn điều đó sẽ khó khăn hơn.


Thật không may, tôi không phải là một người thích mã vì vậy sẽ không biết bắt đầu từ đâu với những cái móc này. Hình như tôi sẽ phải trả tiền cho ai đó. Cảm ơn câu trả lời của bạn trong mọi trường hợp, có thể giúp ai đó có năng khiếu kỹ thuật hơn!
Rich Stevens

Bạn không cần phải rít, Drupal và PHP khá dễ học. Trả tiền cho ai đó là một lựa chọn, nhưng học cách tạo các mô-đun tùy chỉnh =)
Darvanen

Tôi không biết điều này có nghĩa là 'Đặt một cron hook (A) để thay đổi trang đầu thành nút / 4.' Tôi là một triệu năm từ việc tạo ra các mô-đun của riêng tôi.
Rich Stevens

Đủ công bằng, thật tốt khi biết những hạn chế của bạn.
Darvanen

3

Có một cái nhìn vào mô-đun Theme Key . Một số chi tiết về nó, từ trang dự án của nó:

ThemeKey cho phép bạn xác định các quy tắc chuyển đổi chủ đề đơn giản hoặc phức tạp, cho phép tự động chọn chủ đề tùy thuộc vào đường dẫn hiện tại, thuật ngữ phân loại, ngôn ngữ, loại nút và nhiều thuộc tính khác. Nó cũng có thể dễ dàng được mở rộng để hỗ trợ các thuộc tính bổ sung được hiển thị bởi các mô-đun khác. Kết hợp với kế thừa chủ đề của Drupal, bạn có thể dễ dàng đạt được các tính năng như:

  • kênh theo phong cách cá nhân
  • màn hình trang nhất / "giật gân"
  • một chủ đề Giáng sinh được chọn ngày / giờ
  • chủ đề di động cho các thiết bị di động được phát hiện tự động khác nhau
  • chủ đề đặc biệt cho trình duyệt "giới hạn" hoặc "cũ"
  • chủ đề nội dung, người dùng hoặc vai trò cụ thể
  • cho biết môi trường của bạn (sản xuất, dàn dựng, thử nghiệm, hộp cát, trên sàn)
  • kiểm tra thiết kế lại của bạn một cách an toàn trên máy chủ trực tiếp
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.