Question Về addon ChipXF - Show smilies on thread title

Thảo luận trong 'Add-on Quesions' bắt đầu bởi Lil.Tee, 27/10/13.

1votes
5/5, 1 vote

  1. Lil.Tee

    Lil.Tee Member

    Bài viết:
    405
    Likes :
    116
    Addon : http://vxf.vn/threads/chipxf-show-smilies-on-thread-title.381/
    Mình xem file thì addon này có đúng 1 file Listener.php như sau :
    PHP:
    <?php

    class ChipXF_SmiliesOnThreadTitle_Listener {
      
        public static function 
    template_post_render($templateName, &$content, array &$containerDataXenForo_Template_Abstract $template)
        {
            if(
    $templateName == 'search_result_thread')
            {
                
    $content preg_replace_callback('#(<h3.*?threads/.*?">)(.*?)(</a></h3>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);
            }
            if(
    in_array($templateName, array('find_new_threads''forum_view')))
            {
                
    $content preg_replace_callback('#(/preview">)([^<]+)(</a>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);  
            }
        }
    }
    Nó sẽ cho phép hiển thị smile ở các template forum_view, find_new_threads, search_result_thread.
    Bây giờ mình muốn smile được hiển thị ở template thread_view thì làm như thế nào ạ?
     
    Đang tải...
  2. Lil.Tee

    Lil.Tee Member

    Bài viết:
    405
    Likes :
    116
  3. Kid

    Kid VIP Member

    Bài viết:
    863
    Likes :
    947
    (Edit bài viết)
    Như thế này là đc a.

    PHP:
    <?php

    class ChipXF_SmiliesOnThreadTitle_Listener {
       
        public static function 
    template_post_render($templateName, &$content, array &$containerDataXenForo_Template_Abstract $template)
        {
            if(
    $templateName == 'search_result_thread')
            {
                
    $content preg_replace_callback('#(<h3.*?threads/.*?">)(.*?)(</a></h3>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);
            }
            if(
    in_array($templateName, array('PAGE_CONTAINER')))
            {
                
    $content preg_replace_callback('#(<h1>)(.*?)(</h1>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);
           
            }
            if(
    in_array($templateName, array('find_new_threads''forum_view')))
            {
                
    $content preg_replace_callback('#(/preview">)([^<]+)(</a>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);   
            }
        }
    }
     
    Last edited: 27/10/13
    Lil.Tee thích bài này.
  4. Lil.Tee

    Lil.Tee Member

    Bài viết:
    405
    Likes :
    116
    A cũng đã từng thử rồi nhưng không được e ạ.
     
    Last edited: 27/10/13
  5. Lil.Tee

    Lil.Tee Member

    Bài viết:
    405
    Likes :
    116
    Bác Chip giờ có hoạt động nữa đâu @Kid
     
  6. Kid

    Kid VIP Member

    Bài viết:
    863
    Likes :
    947
    Hi, code em viết sai, với cả thread_view cũng ko có <h1> thì phải, nó dạng dạng như <xen:container
    Hiển thị ở Page_Container mới đau.

    Ok, đã xong, làm thế này là đc.

    PHP:
    if(in_array($templateName, array('PAGE_CONTAINER')))
            {
                
    $content preg_replace_callback('#(<h1>)(.*?)(</h1>)#i'create_function('$matches''
                    $bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create(\'Base\'));
                    $matches[2] = new XenForo_BbCode_TextWrapper(htmlspecialchars_decode($matches[2]), $bbCodeParser);
                    return $matches[1].$matches[2].$matches[3];
                '
    ), $content);
           
            }
     
    Last edited: 27/10/13
    Lil.Tee thích bài này.
  7. Lil.Tee

    Lil.Tee Member

    Bài viết:
    405
    Likes :
    116
    Thanks e nhiều !!! Done.
     
comments powered by Disqus

Chia sẻ trang này

Đang tải...