Question Cần hướng dẫn cách đưa danh sách bài viết lên header

Thảo luận trong 'Troubleshoot & Other Questions' bắt đầu bởi thodencnt1, 12/5/15.

1votes
5/5, 1 vote

  1. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    Mình đang cần làm một add-on như thế này, cho danh sách bài viết mới nhất hiện lên header luôn

    Mình đang vướng mắc ở phần hiển thị
    Add-on gồm 3 file:
    • Listener.php
    • ControllerPublic/Thread.php
    • Model/Thread.php
    ở file Listener.php có đoạn hiển thị này
    PHP:

       
    public static function template_hook($hookName, &$contents, array $hookParamsXenForo_Template_Abstract $template){
       
      if(
    $hookName == 'xuantho_hotnews_test'){
           
    $ourTemplate $template->create('XuanTho_HotThread_main'$template->getParams());
           
    $ourTemplate->setParam('message'$hookParams['message']);
           
    $contents .= $ourTemplate->render();
      }
      }

       public static function 
    load_controllers($class, array &$extend){
         if(
    $class == 'XenForo_ControllerPublic_Thread'){
           
    $extend[] = 'XuanTho_HotThread_ControllerPublic_Thread';
         }
       }
    Cái này mình nhìn theo add-on MoreThread Same Category rồi làm lại
    Hiển thị ở thread rồi nhưng nó không hiển thị trên header, mình thay chổ XenForo_ControllerPublic_Thread thành các trang khác (có trong thư mục xenforo/controllerpublic (Vd: XenForo_ControllerPublic_Conversation)) thì vẫn hiện ra nhưng hiện ở phía Container, không hiện trên header được

    [​IMG]

    Mọi người hướng dẫn mình cách làm với
    Cảm ơn đã đọc..
     
    Last edited: 13/5/15
    Bcat9505 thích bài này.
    Đang tải...
  2. Bcat9505

    Bcat9505 Moderator Staff Member

    Bài viết:
    1,335
    Likes :
    494
    bài viết mới nhất này là ở đâu bạn?
    Từ xenportal, bd widget, forum list...
     
    thodencnt1 thích bài này.
  3. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    mình lấy từ database lên, có cho chọn thư mục để lấy đó bạn, ý tưởng là mình làm 1 addon mà chả biết đưa nó lên trên header
     
  4. Cyentruk

    Cyentruk Verified User

    Bài viết:
    252
    Likes :
    291
    Thì bạn cài 1 addon như kiểu VXF Advanced Statistics rồi coy đoạn code trong đó show bài viết mới để lên trên navigation thôi. Bạn để đâu mà chẳng đc. :D
     
  5. Bcat9505

    Bcat9505 Moderator Staff Member

    Bài viết:
    1,335
    Likes :
    494
    Đọc cái cmt là biết bạn mới qua rồi, có thể dùng addon như bạn trên hay của brivium modern statistics, hay bdwidget :) rất nhiều
     
  6. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    cái portal nó chỉ cho hiển thị phía dưới thôi mà, đâu có kéo thả lên header được bạn
     
  7. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    mình coi code của VAS đó rồi, một mớ hỗn độn, nó chỉ cho phía container thôi, mò không biết chổ nào để cho nó lên header
     
  8. Bcat9505

    Bcat9505 Moderator Staff Member

    Bài viết:
    1,335
    Likes :
    494
    Đã muốn thì bỏ đâu cũng đc hihi, bác cứ tự mò đi, khi nào vướng lên đây a,e giúp cho
     
  9. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    thế này nhé, mình làm một addon để hiển thị gồm 3 file:
    • Listener.php
    • ControllerPublic/Thread.php
    • Model/Thread.php
    ở file Listener.php có đoạn hiển thị này
    PHP:

       
    public static function template_hook($hookName, &$contents, array $hookParamsXenForo_Template_Abstract $template){
         
      if(
    $hookName == 'xuantho_hotnews_test'){
           
    $ourTemplate $template->create('XuanTho_HotThread_main'$template->getParams());
           
    $ourTemplate->setParam('message'$hookParams['message']);
           
    $contents .= $ourTemplate->render();
      }
      }

       public static function 
    load_controllers($class, array &$extend){
         if(
    $class == 'XenForo_ControllerPublic_Thread'){
           
    $extend[] = 'XuanTho_HotThread_ControllerPublic_Thread';
         }
       }
    Cái này mình nhìn theo add-on MoreThread Same Category rồi làm lại
    Hiển thị ở thread rồi nhưng nó không hiển thị trên header, mình thay chổ XenForo_ControllerPublic_Thread thành các trang khác (có trong thư mục xenforo/controllerpublic (Vd: XenForo_ControllerPublic_Conversation)) thì vẫn hiện ra nhưng hiện ở phía Container, không hiện trên header được
     
  10. Cyentruk

    Cyentruk Verified User

    Bài viết:
    252
    Likes :
    291
    Bạn mở PAGE_CONTAINER ra, copy đoạn code để hiển thị bài viết, rồi dán vào chỗ nào đó bạn muốn vào giữa các thành phần của PAGE_CONTAINER thì nó sẽ hiện ra như bạn muốn. Header, Footer gì đc tuốt.

    Còn nếu bạn chỉ muốn nó hiển thị cụ thể ở đâu, ví dụ navigation, breadcum, hay trong topic thì tìm template tương ứng. Mình gợi ý thế thôi bạn tự mò nhé. :D
     
  11. vi_sao

    vi_sao New Member

    Bài viết:
    75
    Likes :
    14
    cái này bạn có sẵn addon rồi.

    Mà bạn định addon kiểu gì vậy, viết addon mà thế thì thôi rồi luôn :)
     
  12. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    Vậy Add-on với Hookname để làm gì bạn, cái mình muốn là không cần phải vô tận PAGE_Container để thêm. Dùng cho người không rành về code cũng cài đặt được
     
  13. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    là sao bạn?? mình mới nghịch nên chỉ viết một "hello xenforo" đơn giản thôi mà
     
  14. Cyentruk

    Cyentruk Verified User

    Bài viết:
    252
    Likes :
    291
    Thì ra là bạn muốn viết addon, thế thì bạn sửa lại post#1 đi, mình đọc ở đó nên mình hiểu là bạn chỉ muốn làm sao đó để đặt đc chứ ko quan tâm đến cách làm.

    Mất thời gian quá.
     
    thodencnt1 thích bài này.
  15. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    đã đăng lại theo ý kiến đóng góp :P
     
  16. vi_sao

    vi_sao New Member

    Bài viết:
    75
    Likes :
    14
    à th2i ra la 2muốn tập tn2h viết addon, hi hi
     
  17. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    Hướng dẫn mình cách làm với
     
  18. Bcat9505

    Bcat9505 Moderator Staff Member

    Bài viết:
    1,335
    Likes :
    494
    $ourTemplate->setParam('message', $hookParams['message']);?
    mình cũng đang tập viết template hook, bác pm trao đổi cho dễ nha
     
  19. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    đã thử thay đoạn này, nhưng cái function load_controllers nó không tìm thấy class cần chèn mà
    PHP:
    public static function load_controllers($class, array &$extend){
         if(
    $class == 'XenForo_ControllerPublic_Thread'){
           
    $extend[] = 'XuanTho_HotThread_ControllerPublic_Thread';
         }
       }
     
  20. thodencnt1

    thodencnt1 New Member

    Bài viết:
    22
    Likes :
    2
    up cho ngày mới ...
     
comments powered by Disqus

Chia sẻ trang này

Đang tải...