Hướng dẫn chèn Google Search vào XenForo Update

Thảo luận trong 'VXF.VN - Xenforo Việt Nam' bắt đầu bởi Administrator, 22/4/16.

  1. Administrator Boy nhà nghèo

    Hướng dẫn chèn Google Search vào XenForo Update.Thêm khung search vào kết quả tìm kiếm tích hợp tìm kiếm bằng Google cho Xenforo 1.4 1.5

    Vào link sau để đăng ký code tìm kiếm cho website của bạn
    PHP:
    https://cse.google.com.vn/cse/all
    Chỉnh sửa công cụ tìm kiếm => Add sau đó điền các thông tin theo yêu cầu => Chọn Tạo

    Sau khi tạo xong, bạn sẽ nhận được ID
    [​IMG]

    Hoặc
    PHP:
    <script>
      (function() {
        var 
    cx 'xxxxxxxxxxxxxxxxxxxxx:yyyyyyyyyy'; <!---ID của công cụ tìm kiếm của bạn --->
        
    var gcse document.createElement('script');
        
    gcse.type 'text/javascript';
        
    gcse.async true;
        
    gcse.src 'https://cse.google.com/cse.js?cx=' cx;
        var 
    document.getElementsByTagName('script')[0];
        
    s.parentNode.insertBefore(gcses);
      })();
    </script>
    <gcse:search></gcse:search>
    Sau đó vào mục template đang sử dụng cho xenforo chọn: search_results thay toàn bộ code bằng đoạn sau:
    PHP:
    <xen:if is="{$search.searchConstraints.title_only}">
    <
    xen:if is="{$search.search_query}">
    <
    xen:title>{xen:phrase search_results_for_query}: {$search.search_query}</xen:title>
    <
    xen:h1>{xen:phrase search_results_for_query}: <a href="{xen:link search, $search, 'searchform=1'}"><em>{$search.search_query}</em></a></xen:h1>
    <
    xen:else />
    <
    xen:title>{xen:phrase search_results}</xen:title>
    </
    xen:if>

    <
    xen:navigation>
    <
    xen:breadcrumb href="{xen:link full:search}">{xen:phrase search}</xen:breadcrumb>
    </
    xen:navigation>

    <
    xen:container var="$head.robots">
    <
    meta name="robots" content="noindex" /></xen:container>

    <
    xen:require css="search_results.css" />

    <
    xen:if is="{$search.searchWarnings}">
    <
    ol class="searchWarnings">
    <
    xen:foreach loop="$search.searchWarnings" value="$warning">
    <
    li>{$warning}</li>
    </
    xen:foreach>
    </
    ol>
    </
    xen:if>

    <
    xen:if is="{$search.users}">
    <
    xen:sidebar>
    <
    div class="section userResults avatarList">
    <
    div class="secondaryContent">
    <
    h3>{xen:phrase matched_users}</h3>
    <
    ul>
    <
    xen:foreach loop="$search.users" value="$user">
    <
    li class="userResult">
    <
    xen:avatar user="$usersize="s" img="true" />
    <
    xen:username user="$userrich="true" />
    <
    div class="userTitle">{xen:helper userTitle$user}</div>
    </
    li>
    </
    xen:foreach>
    </
    ul>
    </
    div>
    </
    div>
    </
    xen:sidebar>
    </
    xen:if>

    <
    div class="pageNavLinkGroup">
    <
    div class="linkGroup">
    <
    a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </
    div>

    <
    xen:pagenav link="search" linkdata="{$search}page="{$page}perpage="{$perPage}total="{$totalResults}/>
    </
    div>

    <
    div class="section sectionMain searchResults">
    <
    form action="" method="post">

    <
    ol class="searchResultsList">
    <
    xen:foreach loop="$resultsvalue="$resulti="$i">
    {
    xen:raw $result}
    </
    xen:foreach>
    </
    ol>

    <
    xen:if is="{$userSearchMaxDate}">
    <
    div class="secondaryContent olderMessages">
    <
    a href="{xen:link search/member, '', 'user_id={$search.searchConstraints.user_id}', 'before={$userSearchMaxDate}'}">{xen:phrase find_older_messages}</a>
    </
    div>
    </
    xen:if>

    <
    div class="sectionFooter searchResultSummary">
    <
    span class="resultCount">{xen:phrase showing_results_x_to_y_of_z'start={xen:number $resultStartOffset}''end={xen:number $resultEndOffset}''total={xen:number $totalResults}'}</span>
    <
    xen:if is="{$nextPage}"><a href="{xen:link search, $search, 'page={$nextPage}'}" class="nextLink">{xen:phrase next} &gt;</a></xen:if>
    </
    div>

    </
    form>
    </
    div>

    <
    div class="pageNavLinkGroup">
    <
    div class="linkGroup">
    <
    xen:if is="{$ignoredNames}">
    <
    a href="javascript:" class="muted jsOnly DisplayIgnoredContent Tooltip" title="{xen:phrase show_hidden_content_by_x, "names={xen:helper implode$ignoredNames', '}"}">{xen:phrase show_ignored_content}</a>
    </
    xen:if>
    <
    a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </
    div>

    <
    xen:pagenav link="search" linkdata="{$search}page="{$page}perpage="{$perPage}total="{$totalResults}/>
    </
    div>
    <
    xen:else />
    <
    xen:if is="{$page} > 1">
    <
    xen:if is="{$search.search_query}">
    <
    xen:title>{xen:phrase search_results_for_query}: {$search.search_query}</xen:title>
    <
    xen:h1>{xen:phrase search_results_for_query}: <a href="{xen:link search, $search, 'searchform=1'}"><em>{$search.search_query}</em></a></xen:h1>
    <
    xen:else />
    <
    xen:title>{xen:phrase search_results}</xen:title>
    </
    xen:if>

    <
    xen:navigation>
    <
    xen:breadcrumb href="{xen:link full:search}">{xen:phrase search}</xen:breadcrumb>
    </
    xen:navigation>

    <
    xen:container var="$head.robots">
    <
    meta name="robots" content="noindex" /></xen:container>

    <
    xen:require css="search_results.css" />

    <
    xen:if is="{$search.searchWarnings}">
    <
    ol class="searchWarnings">
    <
    xen:foreach loop="$search.searchWarnings" value="$warning">
    <
    li>{$warning}</li>
    </
    xen:foreach>
    </
    ol>
    </
    xen:if>

    <
    xen:if is="{$search.users}">
    <
    xen:sidebar>
    <
    div class="section userResults avatarList">
    <
    div class="secondaryContent">
    <
    h3>{xen:phrase matched_users}</h3>
    <
    ul>
    <
    xen:foreach loop="$search.users" value="$user">
    <
    li class="userResult">
    <
    xen:avatar user="$usersize="s" img="true" />
    <
    xen:username user="$userrich="true" />
    <
    div class="userTitle">{xen:helper userTitle$user}</div>
    </
    li>
    </
    xen:foreach>
    </
    ul>
    </
    div>
    </
    div>
    </
    xen:sidebar>
    </
    xen:if>

    <
    div class="pageNavLinkGroup">
    <
    div class="linkGroup">
    <
    a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </
    div>

    <
    xen:pagenav link="search" linkdata="{$search}page="{$page}perpage="{$perPage}total="{$totalResults}/>
    </
    div>

    <
    div class="section sectionMain searchResults">
    <
    form action="" method="post">

    <
    ol class="searchResultsList">
    <
    xen:foreach loop="$resultsvalue="$resulti="$i">
    {
    xen:raw $result}
    </
    xen:foreach>
    </
    ol>

    <
    xen:if is="{$userSearchMaxDate}">
    <
    div class="secondaryContent olderMessages">
    <
    a href="{xen:link search/member, '', 'user_id={$search.searchConstraints.user_id}', 'before={$userSearchMaxDate}'}">{xen:phrase find_older_messages}</a>
    </
    div>
    </
    xen:if>

    <
    div class="sectionFooter searchResultSummary">
    <
    span class="resultCount">{xen:phrase showing_results_x_to_y_of_z'start={xen:number $resultStartOffset}''end={xen:number $resultEndOffset}''total={xen:number $totalResults}'}</span>
    <
    xen:if is="{$nextPage}"><a href="{xen:link search, $search, 'page={$nextPage}'}" class="nextLink">{xen:phrase next} &gt;</a></xen:if>
    </
    div>

    </
    form>
    </
    div>

    <
    div class="pageNavLinkGroup">
    <
    div class="linkGroup">
    <
    xen:if is="{$ignoredNames}">
    <
    a href="javascript:" class="muted jsOnly DisplayIgnoredContent Tooltip" title="{xen:phrase show_hidden_content_by_x, "names={xen:helper implode$ignoredNames', '}"}">{xen:phrase show_ignored_content}</a>
    </
    xen:if>
    <
    a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </
    div>

    <
    xen:pagenav link="search" linkdata="{$search}page="{$page}perpage="{$perPage}total="{$totalResults}/>
    </
    div>
    <
    xen:else />
    <
    xen:if is="{$search.search_query}">
    <
    xen:title>{xen:phrase search_results_for_query}: {$search.search_query}</xen:title>
    <
    xen:h1>{xen:phrase search_results_for_query}: <a href="{xen:link search, $search, 'searchform=1'}"><em>{$search.search_query}</em></a></xen:h1>
    <
    xen:else />
    <
    xen:title>{xen:phrase search_results}</xen:title>
    </
    xen:if>

    <
    ul class="tabs Tabs" data-panes="#damme_GoogleCustomSearch_Panes > li">
    <
    li><a href="{xen:link search, $search}#gcs">Kết quả tìm kiếm từ Google</a></li>
    <
    li><a href="{xen:link search, $search}#xf">Kết quả tìm kiếm từ địa phương</a></li>
    </
    ul>

    <
    br/>
    <
    ul id="damme_GoogleCustomSearch_Panes">
    <
    li id="gcs">
    <
    div id="cse" style="padding: 10px; margin: 10px auto; border: 1px solid #a5cae4; -webkit-border-radius: 10px; -moz-border-radius: 10px; -khtml-border-radius: 10px;">Đang tải kết quả tìm kiếm từ Google ...</div>
    <
    script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
                google.load('search', '1', {language : ''});
                google.setOnLoadCallback(function() {
                    var customSearchOptions = {};
         
                    var customSearchControl = new google.search.CustomSearchControl(
                        ' thay đoạn ID của bạn vào đây',
                        customSearchOptions
                    );
                    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
         
                    var options = new google.search.DrawOptions();
                    options.enableSearchResultsOnly();
         
                    customSearchControl.draw('cse', options);
                    customSearchControl.execute('{$search.search_query}');
                }, true);
            </script>
    </li>
    <li id="xf">
    <xen:navigation>
    <xen:breadcrumb href="{xen:link full:search}">{xen:phrase search}</xen:breadcrumb>
    </xen:navigation>

    <xen:container var="$head.robots">
    <meta name="robots" content="noindex" /></xen:container>

    <xen:require css="search_results.css" />

    <xen:if is="{$search.searchWarnings}">
    <ol class="searchWarnings">
    <xen:foreach loop="$search.searchWarnings" value="$warning">
    <li>{$warning}</li>
    </xen:foreach>
    </ol>
    </xen:if>

    <xen:if is="{$search.users}">
    <xen:sidebar>
    <div class="section userResults avatarList">
    <div class="secondaryContent">
    <h3>{xen:phrase matched_users}</h3>
    <ul>
    <xen:foreach loop="$search.users" value="$user">
    <li class="userResult">
    <xen:avatar user="$user" size="s" img="true" />
    <xen:username user="$user" rich="true" />
    <div class="userTitle">{xen:helper userTitle, $user}</div>
    </li>
    </xen:foreach>
    </ul>
    </div>
    </div>
    </xen:sidebar>
    </xen:if>

    <div class="pageNavLinkGroup">
    <div class="linkGroup">
    <a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </div>

    <xen:pagenav link="search" linkdata="{$search}" page="{$page}" perpage="{$perPage}" total="{$totalResults}" />
    </div>

    <div class="section sectionMain searchResults">
    <form action="" method="post">

    <ol class="searchResultsList">
    <xen:foreach loop="$results" value="$result" i="$i">
    {xen:raw $result}
    </xen:foreach>
    </ol>

    <xen:if is="{$userSearchMaxDate}">
    <div class="secondaryContent olderMessages">
    <a href="{xen:link search/member, '', 'user_id={$search.searchConstraints.user_id}', 'before={$userSearchMaxDate}'}">{xen:phrase find_older_messages}</a>
    </div>
    </xen:if>

    <div class="sectionFooter searchResultSummary">
    <span class="resultCount">{xen:phrase showing_results_x_to_y_of_z, 'start={xen:number $resultStartOffset}', 'end={xen:number $resultEndOffset}', 'total={xen:number $totalResults}'}</span>
    <xen:if is="{$nextPage}"><a href="{xen:link search, $search, 'page={$nextPage}'}" class="nextLink">{xen:phrase next} &gt;</a></xen:if>
    </div>

    </form>
    </div>

    <div class="pageNavLinkGroup">
    <div class="linkGroup">
    <xen:if is="{$ignoredNames}">
    <a href="javascript:" class="muted jsOnly DisplayIgnoredContent Tooltip" title="{xen:phrase show_hidden_content_by_x, "names={xen:helper implode, $ignoredNames, ', '}"}">{xen:phrase show_ignored_content}</a>
    </xen:if>
    <a href="{xen:link search, $search, 'searchform=1'}">{xen:phrase search_again}</a>
    </div>

    <xen:pagenav link="search" linkdata="{$search}" page="{$page}" perpage="{$perPage}" total="{$totalResults}" />
    </div>
    </li>
    </ul>
    </xen:if>
    </xen:if>
    Chú ý thay ID của bạn vào mục này nhé:
    [​IMG]

    Kết quả:
    [​IMG]
    Nếu bạn chỉ muốn sử dụng Google làm công cụ tìm kiếm chính, không sử dụng bộ search của Xenforo thì sử dụng đoạn code đính kèm nhé! Copy đoạn code trong file đính kèm vào search_results ( chỉ trả về kết quả tìm kiếm Google mà thôi )
     

    Các file đính kèm:

Chia sẻ trang này