New
Loading...

Tự hỏi đáp

Trả lời

Chỉ cần tạo một điều kiện if ( if conditional statement) nằm trong function như sau:

function example(){
 // Lệnh của function
 if ( "điều kiện" ) {
     return; // Thoát function nếu thõa điều kiện
 }
}

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Bạn có một shop bán hàng trực tuyến xây dựng bằng mã nguồn Opencart thì ngoài việc theo dõi thống kê bán hàng trên website thì bạn cũng cần theo dõi lượng người dùng truy cập cũng như những thông tin quan trọng khác trên Google Analytic. Vậy gắn code thống kê Google Analytics lên Opencart như thế nào? Blog xin hướng dẫn các bạn cách làm nhanh sau:


1 Lấy Code Google Analytics

Chúng ta tiến hành lấy code Google Analytics tại trang Google Analytics
Sau khi lấy, code có dạng như sau:
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-xxxxxxxx-x', 'auto');
  ga('send', 'pageview');

</script>
2 Gắn code lên Opencart

Cách 1: Gắn trực tiếp trong template
Tại nơi chứa source website Opencart, bạn tìm đến file header.tpl bằng đường dẫn sau: catalog/view/theme/2016/template/common/header.tpl

Mở file template vừa tìm bằng trình editor, copy code Google Analytics có được ở bước 1, paste vào trước thẻ </head> trong template , sau đó lưu lại là được.

Cách 2: Thông qua Module của Opencart
Đăng nhập admin Opencart => Phần mở rộng => Analytics


Chọn chỉnh sửa shop của bạn muốn add code thống kê ở bên phải:


Bây giờ bạn chỉ cần copy và paste code thống kê có được ở bước 1 vào ô Google Analytics Code như trong hình:


Lưu ý là bạn nhớ để trạng thái "Bật" ở dòng Trạng thái như trong hình, sau đó nhấn nút Lưu lại là xong.

Truy cập vào thống kê Google Analytics bạn sẽ thấy lượng truy cập bắt đầu từ thời điểm bạn gắn code thống kê.

Chúc các bạn thành công!

Xem thêm:
- Hướng dẫn xóa hoặc thay đổi thông tin bản quyền OpenCart dưới chân trang
- Cách ẩn số lượng sản phẩm trong danh mục OpenCart
- Hướng dẫn cách gắn nhiều code Google Analytics lên một website
- Hướng dẫn gắn code Google Analytics vào forum Xenforo
- Cách gắn nhanh bản đồ Google Map vào trang liên hệ Opencart
Với một shop bán hàng thì việc gắn bản đồ vị trí cửa hàng hay showroom lên website là vô cùng quan trọng, nhưng đối với những website mã nguồn Opencart thì gắn như thế nào? Sau đây blog xin chia sẻ nhanh cách gắn đơn giản sau:

Cách gắn bản đồ Google Map vào trang liên hệ Opencart

1 Lấy code Google Map địa chỉ shop của bạn:

Để lấy code địa điểm Google Map bạn vào web: https://www.google.com/maps
Sau đó search địa chỉ của bạn trên thanh search của Google Map, sau khi search ra kết quả chính xác trên bản đồ, bạn vào nút Share:


Tiếp theo bạn click vào tab Embed map, copy đọa code theo hướng dẫn trong hình:


2 Đặt code Google Map vào trang Liên hệ website của bạn:

Tìm đến file contact.tpl theo đường dẫn sau: catalog/view/theme/yourtheme/template/information/contact.tpl
 - Yourtheme là giao diện bạn đang sử dụng cho website của mình
- Mở file template này trên editor và tìm đến đoạn code sau:
<form action="<?php echo $action; ?>" method="post"
Dán đoạn code Google Map bạn vừa copy lên nằm phía trên đoạn code bạn vừa tìm thấy, rồi lưu lại.
Sau đó ra ngoài trang liên hệ của website nhấn F5 để kiểm tra kết quả.
 

Bạn có thể style lại chút để cho bố cục trang Liên hệ của bạn phù hợp với phần bản đồ vừa gắn vào nhé.

Chúc các bạn thành công!

Xem thêm:
- Hướng dẫn cách gắn Google Analytics vào Opencart
- Hướng dẫn xóa hoặc thay đổi thông tin bản quyền OpenCart dưới chân trang
- Cách ẩn số lượng sản phẩm trong danh mục OpenCart
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Hướng dẫn làm slider Bootstrap với hiệu ứng Fade in - Fade out
- Tạo menu dropdowns nhanh trong Bootstrap 

Như bạn đã biết OpenCart là một mã nguồn làm web bán hàng miễn phí hoàn toàn lại dễ dàng cài đặt và sử dụng. Nhưng dưới chân trang luôn có phần thông tin bản quyền (copyright) của OpenCart mặc định khi cài đặt. Bạn có quyền xóa hoặc thay đổi phần này theo ý mình mà hoàn toàn không vi phạm vì OpenCart cho phép, nhưng bạn cũng nên donate một khoản nào đó ủng hộ nhà phát triển :)


Vậy cách thực hiện là như thế nào? Hãy thực hiện theo hướng dẫn nhanh sau:

Trong thư mục chứa mã nguồn website bạn tìm đến file footer.tpl theo đường dẫn sau:
catalog/view/theme/yourTheme/template/common/footer.tpl
Trong đó yourTheme là theme bạn đang sử dụng cho website của mình.

Sau đó bạn tìm đến dòng code:
<p><?php echo $powered; ?></p>
 Xóa nó đi hoặc thêm thông tin bạn muốn vào.

 Lưu lại nhấn F5 để xem kết quả nhé.

Chúc các bạn thành công!

Xem thêm:
- Hướng dẫn cách gắn Google Analytics vào Opencart

- Cách gắn nhanh bản đồ Google Map vào trang liên hệ Opencart
- Cách ẩn số lượng sản phẩm trong danh mục OpenCart
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Hướng dẫn làm slider Bootstrap với hiệu ứng Fade in - Fade out
- Tạo menu dropdowns nhanh trong Bootstrap 
- Hướng dẫn sử dụng Grid System trong Bootstrap để phân chia cột (Column)
OpenCart là một mã nguồn mở dùng làm shop bán hàng trực tuyến khá phổ biến hiện nay. Trong danh mục sản phẩm mặc định nó hỗ trợ show ra số lượng sản phẩm có trong danh mục ( Category product count ) nhưng tùy vào nhu cầu mà ta muốn show hoặc không show nó. Sau đây là cách nhanh để ẩn hoặc remove nó.
Cách ẩn số lượng sản phẩm trong danh mục OpenCart

1 Tắt / mở trong Admincp

Trong admincp của opencart có hỗ trợ chức năng tắt và mở phần này, khi cài mặc định nó được mở.
Để tắt bạn làm theo các bước sau: Đăng nhập Admin => Cài đặt hệ thống => Cấu hình hệ thống


 Chọn chỉnh sửa shop của bạn:


Click tab Tùy chọn, tại phần "Hiển thị sản phẩm có trong danh mục" bạn chọn là Không


Sau đó nhấn lưu là xong!

2 Remove hoàn toàn trong code:

Nếu bạn cảm thấy phần này không cần thiết và muốn bỏ luôn thì làm như sau:
Trên hosting bạn tìm file /catalog/controller/module/category.php mở trên trình chỉnh sửa
tìm đến đoạn code:
'name'        => $child['name'] . ' (' . $product_total . ')',
chỉnh nó thành như sau:
'name'        => $child['name'],
Tiếp theo tìm đoạn code:
'name'        => $category['name'] . ' (' . $product_total . ')',
Chỉnh thành:
'name'        => $category['name'],

Lưu lại và nhấn F5 để xem kết quả nhé

Chúc các bạn thành công!

Xem thêm:
- Cách gắn nhanh bản đồ Google Map vào trang liên hệ Opencart
- Hướng dẫn xóa hoặc thay đổi thông tin bản quyền OpenCart dưới chân trang
- Hướng dẫn cách gắn Google Analytics vào Opencart
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Hướng dẫn làm slider Bootstrap với hiệu ứng Fade in - Fade out
- Tạo menu dropdowns nhanh trong Bootstrap 
- Hướng dẫn sử dụng Grid System trong Bootstrap để phân chia cột (Column)

Bootstrap là một framework front-end cực kỳ mạnh và phổ biến nên mình không cần phải giải thích về nó nhiều nữa. Hôm nay mình xin hướng dẫn cách sử dụng Grid System trong Bootstrap để phân chia cột ( Column ) cho bố cục của website mà không cần phải css gì thêm.

Hướng dẫn sử dụng Grid System trong Bootstrap để phân chia cột ( Column )

1 Bootstrap Grid System

Bootstrap Grid System cho phép bạn tạo được tối 12 cột đều nhau trên một trang hoặc chia theo từng khối riêng:

Bootstrap Grid System sẽ tự thay đổi theo kích thước trình duyệt (Responsive)

2 Grid Classes

Grid Classes là những class dùng để gán css theo mỗi kích thước trình duyệt khác nhau:
- xs (điện thoại)
- sm (tablets)
- md (desktops)
- lg (lớn hơn desktops)

3 Cấu trúc cơ bản của Bootstrap Grid:
<div class="row">
  <div class="col-*-*"></div>
</div>
<div class="row">
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
</div>
<div class="row">
  ...
</div>
- Chia 2 cột đồng đều:
<div class="row">
  <div class="col-sm-6">.col-sm-6</div>
  <div class="col-sm-6">.col-sm-6</div>
</div>
- Chia 2 cột không đồng đều:
<div class="row">
  <div class="col-sm-3">.col-sm-3</div>
  <div class="col-sm-9">.col-sm-9</div>
</div>
- Chia 3 cột đều:
<div class="row">
  <div class="col-sm-4">.col-sm-4</div>
  <div class="col-sm-4">.col-sm-4</div>
  <div class="col-sm-4">.col-sm-4</div>
</div>
.... bạn có thể tự vận dụng để chia cột theo ý mình nhé.

4 Chia cột responsive:

Bạn có thể sử dụng grid class để phân chia theo từng giao diện riêng. Ví dụ:
  <div class="col-lg-2 col-md-4 col-sm-6 col-xs-12"> Your content 1 </div>
  <div class="col-lg-2 col-md-4 col-sm-6 col-xs-12"> Your content 2 </div>
  <div class="col-lg-2 col-md-4 col-sm-6 col-xs-12"> Your content 3 </div>
  <div class="col-lg-2 col-md-4 col-sm-6 col-xs-12"> ... </div>
Trong ví dụ trên, khi giao diện mobile thì tự động sẻ thành 1 cột lớn (col-xs-12), giao diện tablet thì tự động chuyển thành 2 cột đều (col-sm-6), giao diện desktop => 3 cột đều (col-md-4) và khi giao diện màn hình lớn => tự động chia thành 6 cột đều nhau (col-lg-2)

Rất dễ dàng phải không nào? Chúc các bạn thành công!

Xem thêm:
- Hướng dẫn làm slider Bootstrap với hiệu ứng Fade in - Fade out
- Tạo menu dropdowns nhanh trong Bootstrap  
- Top 5 Frontend Frameworks sử dụng phổ biến nhất hiện nay
- Các ví dụ về cách dùng Bootstrap Pagination
- Tạo popup dễ dàng trong Bootstap với Bootstrap Modal Plugin
- Các kiểu styles button trong Bootstrap
- Tạo một slider trong Bootstrap bằng Bootstrap Carousel Plugin

Bạn đang tự học ngôn ngữ lập trình C++ nhưng chưa biết bắt đầu từ đâu? Vậy thì mình khuyên bạn bỏ sách vở nặng nề sang một bên hãy tìm đến các website học lập trình trực tuyến ngay và luôn. Tại đó bạn sẽ tìm được level thích hợp của mình và bắt đầu học nhanh và hiệu quả hơn với nhiều phương pháp học đơn giản nhưng cực kỳ hiệu quả. Sau đây mình xin giới thiệu đến các bạn một số website học lập trình C++ hay mà lại miễn phí hoàn toàn.


1 sololearn.com

Đầu tiên là phải kể đến trang này vì phương pháp học khá hay "Học mà chơi, chơi mà học". Các bài học từ đơn giản đến nâng cao thông qua những ví dụ cụ thể và thực hành ngay trên trình duyệt.

Top những trang web học C++ trực tuyến miễn phí

Ngoài ngôn ngữ lập trình C++ ra bạn còn có thể học nhiều ngôn ngữ khác từ website này. Tuy nhiên bạn đang nghiên cứu ngôn ngữ nào thì hãy tập trung vào ngôn ngữ ấy trước đã :D

Bạn có thể bắt đầu học miễn phí tại đây

2 tutorialspoint.com

Trang thứ hai mình kể đến là trang tutorialspoint.com, cũng với phương pháp học lý thuyết đi đôi với thực hành ngay trên trình duyệt nên bạn sẽ dễ dàng tiếp thu thông qua từng ví dụ cụ thể từ cơ bản đến nâng cao.


Cũng như sololearn.com thì tutorialspoint.com cũng có vô vàng các ngôn ngữ khác để bạn tự khám phá.

Hãy bắt đầu học C++ tại đây

3 learncpp.com

Với đặc thù là phương pháp cổ điển nặng lý thuyết, bạn phải tự thực hành trên chính công cụ lập trình của bạn nhưng bù lại trên site này bạn có thể thảo luận tự do, trao đổi kinh nghiệm với khá nhiều lập trình viên khác.


Bạn có thể học ngay tại đây

4 cplusplus.com

Phương pháp dạy học có cả lý thuyết lẫn thực hành ngay trên trình duyệt nhưng giao diện cũng khá cổ điển. Nhưng bù lại ví dụ khá cụ thể, lý thuyết rõ ràng từ cơ bản đến nâng cao, bạn có thể tự học tại đây mà không tốn một xu học phí nào :D


Hãy bắt đầu học tại đây

5 cprogramming.com

Không có phương pháp học tập gì đặc biệt, khá nặng về lý thuyết, bạn phải tự học và thực hành thông qua những lý thuyết có được trên website. Nhưng cũng chính vì thế có thể bạn sẽ nắm vững chắc kiến thức hơn đấy :))


Tìm hiểu thêm tại đây nhé !


Chúc các bạn học thật tốt !!


Xem thêm:
- Ebook tự học lập trình C++ tiếng Việt
- Ebook Nguyên tắc cơ bản của lập trình máy tính với C#
- Tổng hợp các ebook lập trình iOS từ cơ bản đến nâng cao - Phần 1
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Tài liệu học lập trình java cơ bản [Tiếng Việt]
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt

Bootstrap Framework chắc hẳn đã quen thuộc với nhiều người làm web, silder cũng là phần không thể thiếu trong một website. Bootstrap hỗ trợ slider mặc định sử dụng hiệu ứng trượt ngang, nhưng để đổi hiệu ứng này sang Fade in - Fade out thì phải làm như thế nào? Sau đây mời các bạn tham khảo biết viết dưới để xử lý vấn đề này nhé!

Hướng dẫn làm slider Bootstrap với hiệu ứng Fade in - Fade out

1  Tạo slider đặt tại vị trí bạn muốn trên website, code slider của Bootstrap như sau:
<div id="carousel" class="carousel slide carousel-fade" data-ride="carousel">
    <ol class="carousel-indicators">
        <li data-target="#carousel" data-slide-to="0" class="active"></li>
        <li data-target="#carousel" data-slide-to="1"></li>
        <li data-target="#carousel" data-slide-to="2"></li>
    </ol>
    <!-- Carousel items -->
    <div class="carousel-inner">
        <div class="active item"></div>
        <div class="item"></div>
        <div class="item"></div>
    </div>
    <!-- Carousel nav -->
    <a class="carousel-control left" href="#carousel" data-slide="prev">&lsaquo;</a>
    <a class="carousel-control right" href="#carousel" data-slide="next">&rsaquo;</a>
</div>
 2 Tại cuối file css của website bạn thêm đoạn css cho hiệu ứng fade như sau:
.carousel-fade .carousel-inner .item {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  opacity: 0;
}
.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}
.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.carousel-fade .carousel-control {
  z-index: 2;
}
Lưu ý: Mặc định code html slider Bootstrap tại thẻ <div id="carousel" không có class "carousel-fade" , ta thêm class này để slider nhận hiệu ứng từ css bạn đã thêm ở bước sau.

Các bạn có thể download file demo ở đây

Chúc các bạn thành công!


Xem thêm:
- Hướng dẫn sử dụng Grid System trong Bootstrap để phân chia cột ( Column)
- Tạo menu dropdowns nhanh trong Bootstrap  
- Top 5 Frontend Frameworks sử dụng phổ biến nhất hiện nay
- Các ví dụ về cách dùng Bootstrap Pagination
- Tạo popup dễ dàng trong Bootstap với Bootstrap Modal Plugin
- Các kiểu styles button trong Bootstrap
- Tạo một slider trong Bootstrap bằng Bootstrap Carousel Plugin

Đối với một website có nhiều bài viết trích dẫn link nguồn hoặc link download thì việc tạo một trang chờ chuyển hướng là vô cùng quan trọng vì nó giúp giải quyết toàn bộ link out gây ảnh hưởng xấu đến SEO. Nhưng đối với blogger thì phải làm như thế nào? Sau đây mình xin chia sẻ cách làm cực kì đơn giản, cách làm này mình cũng thực hiện cho blog này :D

Hướng dẫn tạo trang chờ chuyển hướng ( Redirect Page ) cho blogger

Các bạn thực hiện theo các bước sau:

1 Tạo trang chờ chuyển hướng (Bạn làm theo các bước như trong hình)

Bạn đăng nhập admin Blogger => Chọn tab Trang => Chọn Tab Trang mới để tạo một trang mới
Tại tab tạo Trang mới bạn làm theo các bước như trong hình trên, bước 5 bạn copy đoạn code bên dưới:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
 function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}

var time = 20;
var page = getQueryVariable("t");
function countDown(){
time--;
gett("timecount").innerHTML = time;
if(time == -1){
window.location = page;
}
}
function gett(id){
if(document.getElementById) return document.getElementById(id);
if(document.all) return document.all.id;
if(document.layers) return document.layers.id;
if(window.opera) return window.opera.id;
}
function init(){
if(gett('timecount')){
setInterval(countDown, 1000);
gett("timecount").innerHTML = time;
}
else{
setTimeout(init, 50);
}
}
document.onload = init();

$(document).ready(function(){
 $('.link-out-btn').click(function(){
    window.location = page;
 });
 $('#linkout').text(page);
});

</script>
<br />
<div>
<h3>
Bạn vừa nhấp vào một liên kết không thuộc <b>www.obinb.com</b>, trang sẽ tự chuyển sang liên kết bạn vừa nhấp sau <span id="timecount"></span> giây!</h3>
<div>
Liên kết bạn muốn đến:</div>
<div>
<span id="linkout"></span></div>
<div class="link-out-btn">
Click vào đây để chuyển trang ngay và luôn!</div>
</div>
Lưu ý: Trong đoạn code trên
- var time = 20 nghĩa là thời gian chờ chuyển là 20 giây, bạn có thể thêm hoặc bớt
- Bạn sửa nội dung www.obinb.com theo ý bạn
- Styles page này bạn tự chỉnh tùy ý.

Sau đó bạn xuất bản page, khi xuất bản bạn được link có dạng như sau:
 http://www.obinb.com/p/blog-page_3.html
2 Cách sử dụng

Cách sử dụng rất đơn giản, khi chèn link bạn chỉ cần thêm vào trước link out như sau:
Link out ban đầu : http://linkout-page.com
Link out sau khi thêm: http://www.obinb.com/p/blog-page_3.html?t=http://linkout-page.com
Nghĩa là sau khi click vào link out bạn vừa chèn, thì tự động chuyển sang trang chờ chuyển hướng bạn vừa tạo.
Các bạn có thể xem Demo

Rất đơn giản phải không nào? Chúc các bạn thành công!


- Tạo widget Bài Viết Mới Nhất (Recent Post) có ảnh thumbnail cho Blogger
- Hướng dẫn upload file js, css hay images lên Google Drive sử dụng cho Blogger hoặc website
- Ebook hướng dẫn cách tạo và chỉnh sửa một Blogger Templates
- Cách gắn breadcrumbs cho blogger
- Hướng dẫn gắn các thẻ meta OpenGraph vào blogger
- Hướng dẫn sửa lỗi cấu trúc dữ liệu (Structured Data) trong Blogger 

Trong bất kì diễn đàn nào thì vị trí quảng cáo sau bài viết đầu tiên cực kì quan trọng vì thu hút người dùng, dễ thấy và không làm khó chịu người xem. Nhưng trong diễn đàn Xenforo để đặt quảng cáo ở vị trí này ta phải làm sao? Sau đây xin mời các bạn tham khảo cách làm nhanh gọn lẹ này nhé!


- Đăng nhập admincp => Templates => ad_message_below

- Trong template bạn sẽ thấy có đoạn code:
<xen:hook name="ad_message_below" />
- Đặt đoạn code sau bên dưới nó:
<xen:if is="{$post.position} == 0">
 Code banner của bạn
</xen:if>
- Đoạn code trên xác định vị trí là bài viết đầu tiên,  quảng cáo sẽ không xuất hiện trong bài viết reply hay comment.
- Bên trong đoạn code trên bạn tùy ý đặt banner.

Chúc các bạn thành công!


Xem thêm:
- Hướng dẫn tạo biến dùng chung toàn bộ template Xenforo ( Global Template Variable )
- XenTag 2.1 plugin hữu ích cho thành viên & SEO diễn đàn Xenforo
- [8wayRun.Com] XenPorta 1.6.0 - Plugin CMS miễn phí mạnh mẽ cho Xenforo
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Video hướng dẫn chi tiết cách viết Addon cho diễn đàn XenForo


Trong template Xenforo mặc định đã hỗ trợ nhiều biến dùng chung  ( Global Variable ) nhưng đôi khi việc custom template khiến bạn phải tạo ra những biến không có sẵn để đặt tùy ý bất cứ nơi đâu trong template diễn đàn. Việc này thật đơn giản, bạn chỉ cần thực hiện các bước trong hướng dẫn sau đây:


 1Tải và cài đặt Plugin Global Template Variable

 - Tải plugin tại đây
 - Cài đặt: Giải nén và upload folder "library" lên folder root của diễn đàn trên host. Từ admincp Xenforo chạy install plugin trỏ tới file install file "addon-semprot_gtv.xml" vừa giải nén.

2 Tạo biến custom theo ý muốn:

- Sau khi cài đặt plugin, bạn mở file /library/Semprot/GlobalTemplateVariable/Listener.php trên host vừa upload, thêm biến tùy ý như những biến có sẵn là is_handsomeis_fat:
<?php
class Semprot_GlobalTemplateVariable_Listener
{
    public static function template_create(&$templateName, array &$params, XenForo_Template_Abstract $template)
    {
        $params['is_handsome'] = true;
        $params['is_fat'] = false;
        $params['example'] = "www.obinb.com";
    }

}
3 Sử dụng biến vừa tạo:

Với những biến bạn vừa tạo, bạn có thể tùy ý sử dụng ở mọi template của giao diện Xenforo. Ví dụ:
Tại template PAGE_CONTAINER ta đặt đoạn code như sau:
<xen:if is="{$is_handsome}">
You are handsome.
<xen:else />
You are not handsome.
</xen:if>

<xen:if is="{$is_fat}">
You are fat.
<xen:else />
You are not fat.
</xen:if>

Lưu ý: Plugin Global Template Variable hỗ trợ Xenforo version 1.4


Chúc các bạn thành công!

Xem thêm:
- XenTag 2.1 plugin hữu ích cho thành viên & SEO diễn đàn Xenforo
- [8wayRun.Com] XenPorta 1.6.0 - Plugin CMS miễn phí mạnh mẽ cho Xenforo
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Video hướng dẫn chi tiết cách viết Addon cho diễn đàn XenForo

Website của bạn vừa bị hack hoặc chứa liên kết download mã nguồn độc hoặc virus nhưng bạn hoàn toàn không biết cách phát hiện chúng như thế nào. Sau đây blog xin giới thiệu đến các bạn một số công cụ quét mã độc online miễn phí cho website.

Những công cụ quét mã độc, malware, virus miễn phí tốt nhất cho website
Những công cụ quét mã độc, malware, virus miễn phí tốt nhất cho website

 1 Scan My Server


là một trong những báo cáo toàn diện nhất về các vấn đề bảo mật như SQL Injection, Cross Site Scripting, PHP Code Injection, Source Disclosure, HTTP Header Injection, Blind SQL Injection và nhiều hơn nữa. báo cáo quét được thông báo bằng email với bản tóm tắt độ bảo mật cũng như mức độ dễ tấn công hay không.

 Các bạn có thể sử dụng công cụ này tại địa chỉ : www.scanmyserver.com

2 SUCURI


SUCURI là một trong những trang web quét mã độc và malware cho website phổ biến nhất . Bạn có thể làm một thử nghiệm nhanh cho website để quét Malware, Website blacklisting, Injected SPAM và Defacements

 Các bạn có thể sử dụng công cụ này tại địa chỉ : sitecheck.sucuri.net

3 Quttera


Quttera kiểm tra trang web phần mềm độc hại và các lỗ hổng bảo mật. Nếu quét trang web của bạn cho các tập tin độc hại, các tập tin đáng ngờ, PhishTank, Safe Browsing (Google, Yandex) danh sách miền Malware.

Các bạn có thể sử dụng công cụ này tại địa chỉ : www.quttera.com

4 Unmask Parasites


Công cụ quét nhanh và thông báo đến bạn những vấn đề bảo mật trên trang, bạn có thể dùng công cụ này tại địa chỉ: www.unmaskparasites.com

5. Norton Safe Web



Quét nhanh website bạn có trong danh sách website an toàn của Norton không nhé

Địa chỉ: safeweb.norton.com

6 Malware Removal


Đây là công cụ kiểm tra toàn diện website của bạn và tìm ra những lỗ hổng bảo mật. Bạn có thể dùng miễn phí tại địa chỉ: www.web-malware-removal.com/website-malware-virus-scanner


Xem thêm:
- Cách chạy lệnh Javascript sau khi load trang hoàn tất
- Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Hướng dẫn resize ảnh đơn giản bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt


Một blogger cần phải có nhiều kênh chia sẻ trong đó mạng xã hội Facebook là không thể thiếu. Để dễ dàng like và chia sẻ bài viết hay bạn chỉ cần đặt nút like tại trang chi tiết blog là được.
Sau đây là hướng dẫn nhanh cách gắn nút like (Like button) Facebook cho trang chi tiết blogger:


Bạn vào link sau để lấy code nút like Facebook: https://developers.facebook.com/docs/plugins/like-button

Điền đầy đủ các thông tin cần thiết như kích thước Width, bố cục (Layout) rồi nhấn Get Code, chú ý phần URL to Like bạn cứ để mặc định, khi gắn code vào template sẽ chỉnh lại sau.

Sau khi nhấn Get Code bạn được đoạn code sau:
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.5";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Đăng nhập Blogger => Template => Edit => Chèn đoạn code trên vào sau thẻ <body> trong template của bạn.

Bước tiếp theo là gắn nút like vào vị trí mong muốn của bạn, thường thì nút like nằm dưới cuối cùng bài viết trong thẻ <div class="post hentry...

Sau khi tìm đến vị trí cần đặt nút like bạn dán đoạn code này vào, nhấn Save là được.
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='fb-like' data-action='like' data-layout='button_count' data-share='true' data-show-faces='false' expr:href='data:blog.url'></div>
</b:if>

Chúc các bạn thành công!


- Tạo widget Bài Viết Mới Nhất (Recent Post) có ảnh thumbnail cho Blogger
- Hướng dẫn upload file js, css hay images lên Google Drive sử dụng cho Blogger hoặc website
- Ebook hướng dẫn cách tạo và chỉnh sửa một Blogger Templates
- Cách gắn breadcrumbs cho blogger
- Hướng dẫn tạo trang liên hệ cho Blogger
- Hướng dẫn gắn các thẻ meta OpenGraph vào blogger
- Hướng dẫn sửa lỗi cấu trúc dữ liệu (Structured Data) trong Blogger 


Bạn đã từng đăng ký tên miền Google Apps nhưng sau đó ngừng sử dụng dịch vụ Google Apps hay vì một lý do nào đó bạn muốn transfer tên miền đó sang một nhà cung cấp dịch vụ tên miền khác để gia hạn hoặc sử dụng nhiều dịch vụ tên miền khác... Sau đây là các bước thực hiện việc transfer đó.


Để thực hiện việc transfer, domain của bạn phải đáp ứng được những yêu cầu sau:
- Đã đăng ký hơn 60 ngày
- Đã được unlock
- Có thông tin email liên hệ trong WHOIS;
- Không bật chế độ Privacy Protected
- Lấy được Authorization Code của domain bạn muốn transfer

1 Xác định nhà cung cấp domain Google Apps của bạn

Bạn đăng ký dịch vụ domain Google Apps nhưng thật ra Google không trực tiếp cung cấp dịch vụ domain mà phải qua bên thứ ba cung cấp, có thể là GoDaddy, Enom, hoặc Domaindiscount24
Để xác định bạn làm như sau: Bạn login vào Google Admin console => Domains tab.
Hoặc bạn cũng có thể check bằng Whois tool.

2 Unlock domain

Tất cả các domain khi đăng ký điều được Lock để bảo vệ, bạn phải thực hiện unlock mới có thể transfer:

a. Nếu nhà cung cấp là GoDaddy
Trong Google Admin console, click Advanced DNS Settings, sau đó bạn sẻ chuyển đến trang login GoDaddy. Sau đó bạn chọn Domain Control Center. Check vào domain bạn muốn transfer và chọn Locking trên danh sách menu, chọn Unlock và click OK.

Sau đó bạn vào https://www.domainsbyproxy.com/, click Log In => Forgot Your Contact Information. Bạn có thể lấy thông tin đăng nhập thông qua email mà bạn dùng để đăng ký Google Apps.


 Nhập domain bạn đã đăng ký, mã capcha bên dưới rồi nhấn Ok

 Bạn chọn vào Request for Email Update Form để chuyển đến form nhập thông tin đăng ký domain

 Ở bước này bạn phải nhập chính xác thông tin yêu cầu cũng như những thông tin bạn đã từng sử dụng khi đăng domain Google Apps. Trong bước này bạn phải chụp ảnh CMND hoặc chứng minh thư để gửi xác minh.

Sau khi xác minh, dịch vụ Proxy sẽ gửi cho bạn một id khách hàng mới để đăng nhập, tuy nhiên bạn chưa có mật khẩu nên phải đến bước reset mật khẩu.

Sau khi đã có id và mật khẩu bạn đăng nhập vào Domains by Proxy trong Domain Control và disable WHOIS privacy

b. Nếu bạn đăng ký qua Enom
Bạn có thể gửi email cho nhóm hỗ trợ googleclients@enom.com và yêu cầu họ unlock domain của bạn

c. Đăng ký qua DomainDiscount24 hoặc nhà cung cấp khác
Tương tự bạn có thể gửi email hỗ trợ qua support@domaindiscount24.com để yêu cầu nhóm hỗ trợ unlock domain.

3 Lấy Auth/EPP code của domain bạn muốn transfer

a. GoDaddy
Bạn đăng nhập Google Admin console => Domains => Advanced DNS Settings, click chọn domain trong danh sách =>  Authorization Code tab, rồi chọn Send by Email. Authorization code sẽ được gửi tới email của bạn.

b. Enom
Bạn gửi email yêu cầu đến googleclients@enom.com, bạn phải cung cấp password domain.

c. DomainDiscount24 hoặc một nhà cung cấp khác
Tương tự với DomainDiscount24, bạn cũng phải liên hệ trực tiếp yêu cầu hỗ trợ qua em email support@domaindiscount24.com

4 Transfer domain

Sau khi đã làm xong các bước bạn chỉ việc đăng nhập vào Domain Manager của nhà cung cấp bạn muốn transfer đến, chọn Transfer Domain sử dụng Authorization Code mà bạn đã có.


Chúc các bạn thành công!


Xem thêm:
- Cách tạo khung tìm kiếm Google Custom Search mặc định cho Xenforo
- Hướng dẫn cách gắn nhiều code Google Analytics lên một website
- Hướng dẫn đăng ký WebMoney và đổi payment method trong Quizgroup sang WebMoney
- Những mạng quảng cáo kiếm tiền online ( Ad network) tốt nhất thay thế Google Adsense

Sau một thời gian sử dụng Xenforo nhiều người nhận định là bộ search của Xenforo có vấn đề, tìm kiếm từ khóa nhiều lúc không ra hoặc ra không chính xác ( Mặc dù nội dung và tiêu đề topic hoàn toàn tồn tại) ngoài ra nó còn tốn tài nguyên của server.
 Trong thời gian chờ bộ search tốt hơn từ Xenforo chúng ta có một thay thế hoàn hảo là Google Custom Search, còn về chất lượng search từ Google Custom Search thì không cần phải chê, chủ yếu là website bạn index tốt là được.


Nhưng tích hợp Google Custom Search vào Xenforo như thế nào? Và cách làm nó trở thành trình duyệt mặc định cho diễn đàn ra sao? Bạn chỉ cần làm theo các bước đơn giản sau là nhanh nhất:

1 Đăng ký Google Custom Search

Bạn vào cse.google.com tạo 1 Search Engine của site, lấy code API từ đoạn code mà Google cung cấp, dạng như sau:
<script>
  (function() {
    var cx = 'xxxxxxxxxxxxxxxxxxxxxx:yyyyyyyyyyy';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>

2 Đăng nhập admincp Xenforo, tạo template với tên googlesearch

Đặt đoạn code này vào :
<fieldset id="GoogleSearch">
<form action="pages/search" id="cse-search-box" class="formPopup">
 
    <input type="hidden" name="cx" value="xxxxxxxxxxxxxxxxxxxxxx:yyyyyyyyyyy" />
    <input type="hidden" name="ie" value="utf-8" />
<div class="primaryControls">
            <span class="textboxcontainer"><span><input type="search" name="q" id="googlesearchquery" class="textCtrl" /></span></span>
</div>
                </form>
<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en"></script>
</fieldset>

3 Tạo một page mới đặt tên bất kì:

Admin CP -> Applications -> Creat New Page
- Tại ô Url Portion bạn đặt là "search"
- Tại tab HTML Template bạn thêm đoạn code sau:
<div id='cse' style='width: 100%;'>Loading....</div>
<script src='//www.google.com/jsapi' type='text/javascript'></script>
<script type='text/javascript'>
google.load('search', '1', {language: 'en', style: google.loader.themes.SHINY});
google.setOnLoadCallback(function() {
  var customSearchOptions = {};
  var orderByOptions = {};
  orderByOptions['keys'] = [{label: 'Relevance', key: ''} , {label: 'Date', key: 'date'}];
  customSearchOptions['enableOrderBy'] = true;
  customSearchOptions['orderByOptions'] = orderByOptions;
  var customSearchControl =  new google.search.CustomSearchControl('xxxxxxxxxxxxxxxxxxxxxx:yyyyyyyyyyy', customSearchOptions);
  customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  var options = new google.search.DrawOptions();
  options.enableSearchResultsOnly();
  options.setAutoComplete(true);
  customSearchControl.draw('cse', options);
  function parseParamsFromUrl() {
    var params = {};
    var parts = window.location.search.substr(1).split('&');
    for (var i = 0; i < parts.length; i++) {
      var keyValuePair = parts[i].split('=');
      var key = decodeURIComponent(keyValuePair[0]);
      params[key] = keyValuePair[1] ?
          decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
          keyValuePair[1];
    }
    return params;
  }
  var urlParams = parseParamsFromUrl();
  var queryParamName = 'q';
  if (urlParams[queryParamName]) {
    customSearchControl.execute(urlParams[queryParamName]);
  }
}, true);
</script>

4 Chèn form search Google vào vị trí bạn muốn hiển thị:

Mở template search_bar  tìm "</xen:hook>" thêm vào bên dưới nó đoạn code sau:
 <xen:include template="googlesearch" />

 5 Thêm đoạn css này vào template Extra.css :

#GoogleSearch{display: block;
 
        position: absolute;
        right: 300px;
        top: -18px;
 
        margin: 0;
 
        background-color: @content.background-color;
        border-radius: 5px;
        padding-top: 5px;
        _padding-top: 3px;
        z-index: 7500;
}

Sau khi lưu lại bạn ra trang chủ và search xem kết quả nhé.

Lưu ý: Bạn nhớ thay thế xxxxxxxxxxxxxxxxxxxxxx:yyyyyyyyyyy thành API bạn có được khi đăng ký Google Custom Search nhé


Chúc các bạn thành công!


Xem thêm:
- Hướng dẫn tạo biến dùng chung toàn bộ template Xenforo ( Global Template Variable )
- XenTag 2.1 plugin hữu ích cho thành viên & SEO diễn đàn Xenforo
- [8wayRun.Com] XenPorta 1.6.0 - Plugin CMS miễn phí mạnh mẽ cho Xenforo
- Tạo khung đăng ký thành viên dạng popup trong diễn đàn Xenforo
- Hướng dẫn đặt quảng cáo theo từng forum hoặc category trong xenforo
- Video hướng dẫn chi tiết cách viết Addon cho diễn đàn XenForo
- Hướng dẫn tạo quảng cáo sau bài viết đầu tiên cho diễn đàn Xenforo
- Cách ẩn số lượng sản phẩm trong danh mục OpenCart

I  AngularJS là gì?

AngularJS là một JS Framework miễn phí rất mạnh do Google xây dựng được hàng ngàn các lập trình viên trên thế giới ưa chuộng và sử dụng. Nó thường được sử dụng để xây dựng các dự án Single Page Application (SPA) và hoạt động dựa trên các thuộc tính mở rộng HTML (các atributes theo quy tắc của Angular).


II Những website học AngularJS miễn phí hay nhất

 Bạn có thể tự học AngularJS thông qua những website sau:

1 www.w3schools.com/angular

Với phương pháp dạy dễ hiểu từ cơ bản đến nâng cao qua từng ví dụ cụ thể. Bạn có thể dễ dàng thực hành AngularJS ngay trên website này.

2 www.learn-angular.org

Tương tự w3schools, trang này cũng có phương pháp dậy khá dễ hiểu thông qua những ví dụ cụ thể và thực hành ngay trên site.


3 www.codecademy.com/learn/learn-angularjs

Phương pháp dạy thực hành là chính khiến bạn tiến bộ khá nhanh nhưng bạn phải học và ghi nhớ kiến thức kĩ khóa trước nếu muốn học khóa tiếp theo. Ở website này có 2 loại tài khoản học, loại tài khoản miễn phí ( chỉ học được các khóa đầu ) và loại tài khoản Pro (được học toàn bộ các khóa học, nhưng phải đóng phí)

4 docs.angularjs.org/tutorial

Thực ra đây là trang hướng dẫn của AngularJS, bạn có thể học được hầu hết kiến thức và AngularJS ở đây nhưng phương pháp học khá cỗ điển :) Hoặc bạn có thể học tốt hơn thông qua kênh video của trang này => www.youtube.com/user/angularjs

Trên đây là những website mình đã tìm hiểu, sẽ còn rất nhiều website với nhiều phương pháp dạy hiệu quả khác bạn có thể tự tìm hiểu thêm.

Chúc các bạn học tốt!


Xem thêm:
- Cách chạy lệnh Javascript sau khi load trang hoàn tất
- Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Hướng dẫn resize ảnh đơn giản bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt

Tự động chuyển trang ( Auto Redirect ) bằng Timeout trong Javascript khá là dễ dàng, bạn còn có thể tạo ra bộ đếm ngược giúp người dùng có cảm giác dễ chịu hơn khi chờ chuyển trang.


Các bạn làm như sau: Đặt đoạn code này trước thẻ </head>
<script type="text/javascript">
var time = 15; // Thời gian đếm ngược
var page = "http://www.redirect-url.com/"; // Trang bạn muốn chuyển đến
function countDown(){
time--;
gett("timecount").innerHTML = time;
if(time == -1){
window.location = page;
}
}
function gett(id){
if(document.getElementById) return document.getElementById(id);
if(document.all) return document.all.id;
if(document.layers) return document.layers.id;
if(window.opera) return window.opera.id;
}
function init(){
if(gett('timecount')){
setInterval(countDown, 1000);
gett("timecount").innerHTML = time;
}
else{
setTimeout(init, 50);
}
}
document.onload = init();
</SCRIPT>
Bạn đặt đoạn code show thời gian đếm ngược này trong body trang :
<h3>Trang sẽ tự chuyển sau <span id="timecount"></span> giây!</h3>
Bạn có thể tùy chỉnh giao diện đếm ngược đẹp hơn.

Các bạn có thể tham khảo thêm những cách  tự động chuyển trang ( Auto Redirect ) khác:
- Cách tự động chuyển trang ( Auto Redirect ) bằng HTTP Status Code 301 hoặc 302
- Cách tự động chuyển trang ( Auto Redirect ) bằng thẻ Meta HTML


Xem thêm:
- Cách chạy lệnh Javascript sau khi load trang hoàn tất
- Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Hướng dẫn resize ảnh đơn giản bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt