ntzthanh
Sergeant
xin hướng dẫn tạo công cụ tìm kiếm chủ đề trên cùng giống vnxf
em xin chân thành cảm ơn các admin và mod
em xin chân thành cảm ơn các admin và mod
Bài viết liên quan
Bài viết mới
<div class="search-header">
<form action="/search/search" method="post" class="form-inline" data-xf-init="quick-search">
<input type="text" class="input form-control" name="keywords" placeholder="Tìm kiếm" aria-label="Tìm kiếm" data-menu-autofocus="true" id="keywords">
<input type="hidden" name="_xfToken" value="mã _xfToken">
<input type="submit" class="nut-tk" value="Tìm kiếm">
</form>
</div>
<div class="p-header-logo p-header-logo--image">
<a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
<img src="{{ base_url(property('publicLogoUrl')) }}"
alt="{$xf.options.boardTitle}"
{{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} />
</a>
</div>
<div class="search-header">
<form action="{{ link('search/search') }}" method="post"
class="form-inline"
data-xf-init="quick-search">
<xf:textbox name="keywords"
placeholder="Tìm kiếm"
aria-label="Tìm kiếm"
data-menu-autofocus="true"
class="form-control"
id="keywords"/>
<xf:csrf />
<input type="submit" class="nut-tk" value="Tìm kiếm">
</form>
</div>
.search-header {
width: 33.33%;
}
@media (max-width: 900px) {
.search-header {
width: 50%;
}
}
.form-inline {
width: 100%;
float: left;
position: relative;
text-transform: uppercase;
color: #ffffff;
}
.form-control {
display: block;
width: 100%;
height: 45px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 10px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-inline input[type="text"] {
-webkit-appearance: none;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline input[type="text"] {
width: 75%;
}
.form-inline input[type="submit"] {
width: 25%;
}
.form-inline input[type="text"] {
float: left;
padding: 10px 15px;
height: 35px;
color: #909191;
border: none;
text-transform: capitalize;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.form-inline input[type="submit"] {
float: right;
border: none;
background: #e8a147;
color: #fff;
font-size: 16px;
cursor: pointer;
text-align: center;
height: 35px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
Vào đâu để tìm " PAGE_CONTAINER " vậy pro ? em gà mờ ạHướng dẫn hoàn chỉnh cho bạn đây:
Vào PAGE_CONTAINER tìm:
HTML:<div class="p-header-logo p-header-logo--image"> <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} /> </a> </div>
Thêm code này vào bên dưới:
HTML:<div class="search-header"> <form action="{{ link('search/search') }}" method="post" class="form-inline" data-xf-init="quick-search"> <xf:textbox name="keywords" placeholder="Tìm kiếm" aria-label="Tìm kiếm" data-menu-autofocus="true" class="form-control" id="keywords"/> <xf:csrf /> <input type="submit" class="nut-tk" value="Tìm kiếm"> </form> </div>
Save lại xong qua extra.less thêm đoạn code sau:
Less:.search-header { width: 33.33%; } @media (max-width: 900px) { .search-header { width: 50%; } } .form-inline { width: 100%; float: left; position: relative; text-transform: uppercase; color: #ffffff; } .form-control { display: block; width: 100%; height: 45px; padding: 6px 12px; font-size: 13px; line-height: 1.42857143; color: #000; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 10px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-inline input[type="text"] { -webkit-appearance: none; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline input[type="text"] { width: 75%; } .form-inline input[type="submit"] { width: 25%; } .form-inline input[type="text"] { float: left; padding: 10px 15px; height: 35px; color: #909191; border: none; text-transform: capitalize; border-top-right-radius: 0; border-bottom-right-radius: 0; } .form-inline input[type="submit"] { float: right; border: none; background: #e8a147; color: #fff; font-size: 16px; cursor: pointer; text-align: center; height: 35px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; }
em vào được PAGE_CONTAINER nhưng tìm cả ngày không thấy đoạn code này :Hướng dẫn hoàn chỉnh cho bạn đây:
Vào PAGE_CONTAINER tìm:
HTML:<div class="p-header-logo p-header-logo--image"> <a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <img src="{{ base_url(property('publicLogoUrl')) }}" alt="{$xf.options.boardTitle}" {{ property('publicLogoUrl2x') ? 'srcset="' . base_url(property('publicLogoUrl2x')) . ' 2x"' : '' }} /> </a> </div>
Thêm code này vào bên dưới:
HTML:<div class="search-header"> <form action="{{ link('search/search') }}" method="post" class="form-inline" data-xf-init="quick-search"> <xf:textbox name="keywords" placeholder="Tìm kiếm" aria-label="Tìm kiếm" data-menu-autofocus="true" class="form-control" id="keywords"/> <xf:csrf /> <input type="submit" class="nut-tk" value="Tìm kiếm"> </form> </div>
Save lại xong qua extra.less thêm đoạn code sau:
Less:.search-header { width: 33.33%; } @media (max-width: 900px) { .search-header { width: 50%; } } .form-inline { width: 100%; float: left; position: relative; text-transform: uppercase; color: #ffffff; } .form-control { display: block; width: 100%; height: 45px; padding: 6px 12px; font-size: 13px; line-height: 1.42857143; color: #000; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 10px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-inline input[type="text"] { -webkit-appearance: none; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline input[type="text"] { width: 75%; } .form-inline input[type="submit"] { width: 25%; } .form-inline input[type="text"] { float: left; padding: 10px 15px; height: 35px; color: #909191; border: none; text-transform: capitalize; border-top-right-radius: 0; border-bottom-right-radius: 0; } .form-inline input[type="submit"] { float: right; border: none; background: #e8a147; color: #fff; font-size: 16px; cursor: pointer; text-align: center; height: 35px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; }
Đây là tất cả code trong của em , em tìm cả buổi mà không thấy ạ . mong pro giúp em với ạBạn thử tìm 1 dòng thôi xem sao:
HTML:<div class="p-header-logo p-header-logo--image">
<!DOCTYPE html><xen:set var="$isResponsive" value="{xen:if '@enableResponsive AND !{$noResponsive}', 1, 0}" />
<html id="XenForo" lang="{$visitorLanguage.language_code}" dir="{$visitorLanguage.text_direction}" class="Public NoJs {xen:if {$visitor.user_id}, 'LoggedIn', 'LoggedOut'} {xen:if {$sidebar}, 'Sidebar', 'NoSidebar'} {xen:if $hasAutoDeferred, RunDeferred} {xen:if $isResponsive, Responsive, NoResponsive}" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<xen:hook name="page_container_head">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<xen:if is="{$isResponsive}">
<meta name="viewport" content="width=device-width, initial-scale=1" />
</xen:if>
<xen:if is="{$requestPaths.fullBasePath}">
<base href="{$requestPaths.fullBasePath}" />
<script><xen:comment>/* Chrome bug and for Google cache */</xen:comment>
var _b = document.getElementsByTagName('base')[0], _bH = "{xen:jsescape $requestPaths.fullBasePath}";
if (_b && _b.href != _bH) _b.href = _bH;
</script>
</xen:if>
<title><xen:if is="{$title}">{xen:raw $title} | {$xenOptions.boardTitle}<xen:else />{$xenOptions.boardTitle}</xen:if></title>
<noscript><style>.JsOnly, .jsOnly { display: none !important; }</style></noscript>
<link rel="stylesheet" href="css.php?css=xenforo,form,public&style={xen:urlencode $_styleId}&dir={$visitorLanguage.text_direction}&d={$visitorStyle.last_modified_date}" />
<!--XenForo_Require:CSS-->
{xen:helper ignoredCss, {$visitor.ignoredUsers}}
<xen:include template="google_analytics" />
<xen:include template="page_container_js_head" />
<link rel="apple-touch-icon" href="{xen:helper fullurl, @ogLogoPath, 1}" />
<link rel="alternate" type="application/rss+xml" title="{xen:phrase rss_feed_for_x, 'title={$xenOptions.boardTitle}'}" href="{xen:link forums/-/index.rss}" />
<xen:if is="{$pageDescription.content} AND !{$pageDescription.skipmeta} AND !{$head.description}"><meta name="description" content="{xen:string wordTrim, {xen:helper stripHtml, {xen:raw $pageDescription.content}}, 200}" /></xen:if>
<xen:if is="{$head}"><xen:foreach loop="$head" value="$headElement">{xen:raw $headElement}</xen:foreach></xen:if>
</xen:hook>
</head>
<body{xen:if {$bodyClasses}, ' class="{$bodyClasses}"'}>
<xen:hook name="body">
<xen:if is="{$visitor.is_moderator} || {$visitor.is_admin}">
<xen:include template="moderator_bar" />
<xen:elseif is="!{$visitor.user_id} && !{$hideLoginBar}" />
<xen:include template="login_bar" />
</xen:if>
<div id="headerMover">
<div id="headerProxy"></div>
<div id="content" class="{$contentTemplate}">
<div class="pageWidth">
<div class="pageContent">
<!-- main content area -->
<xen:hook name="page_container_content_top" />
<xen:if is="{$sidebar}">
<div class="mainContainer">
<div class="mainContent"></xen:if>
<xen:include template="ad_above_top_breadcrumb" />
<xen:hook name="page_container_breadcrumb_top">
<div class="breadBoxTop {xen:if $topctrl, withTopCtrl}">
<xen:if is="{$topctrl}"><div class="topCtrl">{xen:raw $topctrl}</div></xen:if>
<xen:include template="breadcrumb"><xen:set var="$microdata">1</xen:set></xen:include>
</div>
</xen:hook>
<xen:include template="ad_below_top_breadcrumb" />
<!--[if lt IE 8]>
<p class="importantMessage">{xen:phrase you_are_using_out_of_date_browser_upgrade}</p>
<![endif]-->
<xen:hook name="page_container_notices">
<xen:include template="notices" />
</xen:hook>
<xen:hook name="page_container_content_title_bar">
<xen:if is="!{$noH1}">
<!-- h1 title, description -->
<div class="titleBar">
{xen:raw $beforeH1}
<h1><xen:if
is="{$h1}">{xen:raw $h1}<xen:elseif
is="{$title}" />{xen:raw $title}<xen:else
/>{$xenOptions.boardTitle}</xen:if></h1>
<xen:if is="{$pageDescription.content}"><p id="pageDescription" class="muted {$pageDescription.class}">{xen:raw $pageDescription.content}</p></xen:if>
</div>
</xen:if>
</xen:hook>
<xen:include template="ad_above_content" />
<!-- main template -->
{xen:raw $contents}
<xen:include template="ad_below_content" />
<xen:if is="!{$visitor.user_id} && !{$hideLoginBar}">
<!-- login form, to be moved to the upper drop-down -->
<xen:include template="login_bar_form" />
</xen:if>
<xen:if is="{$sidebar}"></div>
</div>
<!-- sidebar -->
<aside>
<div class="sidebar">
<xen:hook name="page_container_sidebar">
<xen:include template="ad_sidebar_top" />
<xen:if is="!{$noVisitorPanel}"><xen:include template="sidebar_visitor_panel" /></xen:if>
{xen:raw $sidebar}
<xen:include template="ad_sidebar_bottom" />
</xen:hook>
</div>
</aside>
</xen:if>
<xen:hook name="page_container_breadcrumb_bottom">
<div class="breadBoxBottom"><xen:include template="breadcrumb" /></div>
</xen:hook>
<xen:include template="ad_below_bottom_breadcrumb" />
</div>
</div>
</div>
<header>
<xen:include template="header" />
<xen:edithint template="navigation" />
<xen:edithint template="search_bar" />
</header>
</div>
<footer>
<xen:include template="footer" />
</footer>
<xen:include template="page_container_js_body" />
<xen:if is="{$isIndexPage} AND {$canSearch}">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "{xen:jsescape {xen:link canonical:index}}",
"potentialAction": {
"@type": "SearchAction",
"target": "{xen:jsescape {xen:link canonical:search/search}}{xen:if $xenOptions.useFriendlyUrls, '?', '&'}keywords={search_keywords}",
"query-input": "required name=search_keywords"
}
}
</script>
</xen:if>
</xen:hook>
</body>
</html>
Trên là bài hướng dẫn dành cho XF 2 trong khi bạn lại đang sử dụng XF 1. Đây là vấn đề chung của nhiều bạn đặt câu hỏi nhờ trợ giúp nhưng lại không nói rõ đang sử dụng phiên bản Xenforo nào.Đây là tất cả code trong của em , em tìm cả buổi mà không thấy ạ . mong pro giúp em với ạ
<!DOCTYPE html><xen:set var="$isResponsive" value="{xen:if '@enableResponsive AND !{$noResponsive}', 1, 0}" /> <html id="XenForo" lang="{$visitorLanguage.language_code}" dir="{$visitorLanguage.text_direction}" class="Public NoJs {xen:if {$visitor.user_id}, 'LoggedIn', 'LoggedOut'} {xen:if {$sidebar}, 'Sidebar', 'NoSidebar'} {xen:if $hasAutoDeferred, RunDeferred} {xen:if $isResponsive, Responsive, NoResponsive}" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <xen:hook name="page_container_head"> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" /> <xen:if is="{$isResponsive}"> <meta name="viewport" content="width=device-width, initial-scale=1" /> </xen:if> <xen:if is="{$requestPaths.fullBasePath}"> <base href="{$requestPaths.fullBasePath}" /> <script><xen:comment>/* Chrome bug and for Google cache */</xen:comment> var _b = document.getElementsByTagName('base')[0], _bH = "{xen:jsescape $requestPaths.fullBasePath}"; if (_b && _b.href != _bH) _b.href = _bH; </script> </xen:if> <title><xen:if is="{$title}">{xen:raw $title} | {$xenOptions.boardTitle}<xen:else />{$xenOptions.boardTitle}</xen:if></title> <noscript><style>.JsOnly, .jsOnly { display: none !important; }</style></noscript> <link rel="stylesheet" href="css.php?css=xenforo,form,public&style={xen:urlencode $_styleId}&dir={$visitorLanguage.text_direction}&d={$visitorStyle.last_modified_date}" /> <!--XenForo_Require:CSS--> {xen:helper ignoredCss, {$visitor.ignoredUsers}} <xen:include template="google_analytics" /> <xen:include template="page_container_js_head" /> <link rel="apple-touch-icon" href="{xen:helper fullurl, @ogLogoPath, 1}" /> <link rel="alternate" type="application/rss+xml" title="{xen:phrase rss_feed_for_x, 'title={$xenOptions.boardTitle}'}" href="{xen:link forums/-/index.rss}" /> <xen:if is="{$pageDescription.content} AND !{$pageDescription.skipmeta} AND !{$head.description}"><meta name="description" content="{xen:string wordTrim, {xen:helper stripHtml, {xen:raw $pageDescription.content}}, 200}" /></xen:if> <xen:if is="{$head}"><xen:foreach loop="$head" value="$headElement">{xen:raw $headElement}</xen:foreach></xen:if> </xen:hook> </head> <body{xen:if {$bodyClasses}, ' class="{$bodyClasses}"'}> <xen:hook name="body"> <xen:if is="{$visitor.is_moderator} || {$visitor.is_admin}"> <xen:include template="moderator_bar" /> <xen:elseif is="!{$visitor.user_id} && !{$hideLoginBar}" /> <xen:include template="login_bar" /> </xen:if> <div id="headerMover"> <div id="headerProxy"></div> <div id="content" class="{$contentTemplate}"> <div class="pageWidth"> <div class="pageContent"> <!-- main content area --> <xen:hook name="page_container_content_top" /> <xen:if is="{$sidebar}"> <div class="mainContainer"> <div class="mainContent"></xen:if> <xen:include template="ad_above_top_breadcrumb" /> <xen:hook name="page_container_breadcrumb_top"> <div class="breadBoxTop {xen:if $topctrl, withTopCtrl}"> <xen:if is="{$topctrl}"><div class="topCtrl">{xen:raw $topctrl}</div></xen:if> <xen:include template="breadcrumb"><xen:set var="$microdata">1</xen:set></xen:include> </div> </xen:hook> <xen:include template="ad_below_top_breadcrumb" /> <!--[if lt IE 8]> <p class="importantMessage">{xen:phrase you_are_using_out_of_date_browser_upgrade}</p> <![endif]--> <xen:hook name="page_container_notices"> <xen:include template="notices" /> </xen:hook> <xen:hook name="page_container_content_title_bar"> <xen:if is="!{$noH1}"> <!-- h1 title, description --> <div class="titleBar"> {xen:raw $beforeH1} <h1><xen:if is="{$h1}">{xen:raw $h1}<xen:elseif is="{$title}" />{xen:raw $title}<xen:else />{$xenOptions.boardTitle}</xen:if></h1> <xen:if is="{$pageDescription.content}"><p id="pageDescription" class="muted {$pageDescription.class}">{xen:raw $pageDescription.content}</p></xen:if> </div> </xen:if> </xen:hook> <xen:include template="ad_above_content" /> <!-- main template --> {xen:raw $contents} <xen:include template="ad_below_content" /> <xen:if is="!{$visitor.user_id} && !{$hideLoginBar}"> <!-- login form, to be moved to the upper drop-down --> <xen:include template="login_bar_form" /> </xen:if> <xen:if is="{$sidebar}"></div> </div> <!-- sidebar --> <aside> <div class="sidebar"> <xen:hook name="page_container_sidebar"> <xen:include template="ad_sidebar_top" /> <xen:if is="!{$noVisitorPanel}"><xen:include template="sidebar_visitor_panel" /></xen:if> {xen:raw $sidebar} <xen:include template="ad_sidebar_bottom" /> </xen:hook> </div> </aside> </xen:if> <xen:hook name="page_container_breadcrumb_bottom"> <div class="breadBoxBottom"><xen:include template="breadcrumb" /></div> </xen:hook> <xen:include template="ad_below_bottom_breadcrumb" /> </div> </div> </div> <header> <xen:include template="header" /> <xen:edithint template="navigation" /> <xen:edithint template="search_bar" /> </header> </div> <footer> <xen:include template="footer" /> </footer> <xen:include template="page_container_js_body" /> <xen:if is="{$isIndexPage} AND {$canSearch}"> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "{xen:jsescape {xen:link canonical:index}}", "potentialAction": { "@type": "SearchAction", "target": "{xen:jsescape {xen:link canonical:search/search}}{xen:if $xenOptions.useFriendlyUrls, '?', '&'}keywords={search_keywords}", "query-input": "required name=search_keywords" } } </script> </xen:if> </xen:hook> </body> </html>
em không biết nâng cấp xf2 , nâng cấp lên như nào vậy ạ ? nâng cấp xong liệu diễn đàn có bị lỗi hay mất bài viết không ạ ?Đúng rồi, hiện tại mình đã ngưng hỗ trợ cho XF1, tất cả những bài mới đều cho XF2 cả.
Khi nâng cấp lên XF2 sẽ ko bị mất bài viết, nhưng sẽ bị lỗi addons dẫn đến việc có thể ko truy cập được vào diễn đàn. Bạn có thể inbox cho mình tài khoản admin để mình kiểm tra và nâng cấp giúp bạn.em không biết nâng cấp xf2 , nâng cấp lên như nào vậy ạ ? nâng cấp xong liệu diễn đàn có bị lỗi hay mất bài viết không ạ ?
Bạn dùng CSS này và thêm vào file Extra.less nhé!tắt cái search ở dưới sao bác nhỉ @PVS
.p-navgroup-link:first-of-type.p-navgroup-link--whatsnew+.p-navgroup-link {
display: none;
}
Ngoài css ra có cách nào xoá thủ công nó k bácBạn dùng CSS này và thêm vào file Extra.less nhé!
Mã:.p-navgroup-link:first-of-type.p-navgroup-link--whatsnew+.p-navgroup-link { display: none; }
Xoá code gốc của nó trong PAGE_CONTAINER luôn đó bạn.Ngoài css ra có cách nào xoá thủ công nó k bác
Như bác @PVS hướng dẫn, bạn tìm code này và xóa nhé!Ngoài css ra có cách nào xoá thủ công nó k bác
<a href="{{ link('search') }}"
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search"
data-xf-click="menu"
data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}"
aria-label="{{ phrase('search')|for_attr }}"
aria-expanded="false"
aria-haspopup="true"
title="{{ phrase('search')|for_attr }}">
<i aria-hidden="true"></i>
<span class="p-navgroup-linkText">{{ phrase('search') }}</span>
</a>
Ok, cảm ơn bácNhư bác @PVS hướng dẫn, bạn tìm code này và xóa nhé!
Mã:<a href="{{ link('search') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}" aria-label="{{ phrase('search')|for_attr }}" aria-expanded="false" aria-haspopup="true" title="{{ phrase('search')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('search') }}</span> </a>
Xem nhanh
anhanhxf 0906081284
silzedt_1207 Inbox PVS |
XenForo 1 | XenForo 2 |
Translate by PVS | |
Xenforo là gì? | |
Xây dựng MXH bằng Xenforo |