Hiển thị các bài đăng có nhãn joomla. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn joomla. Hiển thị tất cả bài đăng

Chủ Nhật, 17 tháng 6, 2012

Fix YouTube iFrame Overlay and Z-Index Issues

YouTube's new iFrame player is a nice refresh to the ugly embed code that we have been using, but if you are placing it on pages with content that overlaps or overlays on each other or uses things like lightbox, you may notice that the videos appear on top of content. It's very easy to fix the issue when we use the standard embed code by simply adding a paramater to the code itself. With this new code, we simply don't have the ability to edit the code directly, but the YouTube team has made it easy for us to control this.

Default Embed Code:

Modified Embed Code:

To fix this, we simply add a small snippet to the end of the URL to let the page know that we want it to add these paramaters. Add "?wmode=opaque" to the end of the URL.
Hope this helps someone - took me a while to find it. Enjoy!
Update: If this doesn't seem to work in Chrome, try wmode=transparent instead of wmode=opaque!

Update 2: Automate This With jQuery!

A user posted a jQuery code snippet in the comments that allows us to dynamically make this change! I have not tested this personally, but it looks like it should work fine - jQuery is required for this to work and I reccomend posting this in a $(document).ready(); function or at the bottom of your page.
$("iframe").each(function(){
      var ifr_source = $(this).attr('src');
      var wmode = "?wmode=transparent";
      $(this).attr('src',ifr_source+wmode);
});
This code will automatically apply itself to EVERY iframe element - so if you use iframes frequently ( Facebook Like Buttons, anyone? ), you may want to use jQuery to check to see where the URL is coming from. This is a basic snippet posted to get you started that will take every iframe on the page and adds '?wmode=transparent' to the end of it - it's quick and easy!
Update Again: This code snippet will check to see if there is already a query string present - if so, it will simply append the new string and value pair.
$("iframe").each(function(){
      var ifr_source = $(this).attr('src');
      var wmode = "wmode=transparent";
      if(ifr_source.indexOf('?') != -1) $(this).attr('src',ifr_source+'&'+wmode);
      else $(this).attr('src',ifr_source+'?'+wmode);
});
Update To That: If you want to place our wmode parameter to the beginning of the query string, we can do something like the following:
$(document).ready(function() {
    $("iframe").each(function(){
        var ifr_source = $(this).attr('src');
        var wmode = "wmode=transparent";
        if(ifr_source.indexOf('?') != -1) {
            var getQString = ifr_source.split('?');
            var oldString = getQString[1];
            var newString = getQString[0];
            $(this).attr('src',newString+'?'+wmode+'&'+oldString);
        }
        else $(this).attr('src',ifr_source+'?'+wmode);
    });
});
(Thanks to Michael O for perfecting that last snippet.

Update 3: Concatenating With An Existing String

As one of my readers points out, some of your URLs will already have a query string attached. As an example:
http://www.youtube.com/watch?v=1YmPooYpyQw?rel=0
If you were to attach "?wmode=opaque," it probably would not work. To get around this, simply use an & instead of a ? to add on to what we would call the query string.
http://www.youtube.com/watch?v=1YmPooYpyQw?rel=0&wmode=opaque
 
(http://maxmorgandesign.com/fix_youtube_iframe_overlay_and_z_index_issues/)

Chủ Nhật, 3 tháng 6, 2012

Module hiển thị thời tiết cho joomla 2.5

Module thời tiếtModule thời tiếtCONGNGHEWEB.VN - Trong bài viết này congngheweb.vn sẽ giới thiệu cho các bạn cách hiển thị thời tiết rất đẹp trên website joomla.
Bước 1: Đầu tiên bạn download module này tại đây.
Bước 2: Sau khi download xong các bạn tiến hành cài đặt bình thường. Các bạn vào trang quản trị joomla -> Extensions-> Extension Manager như hình dưới đây:
Cài đặt module hiển thị thời tiết Cài đặt module hiển thị thời tiết
Bước 3: Sau khi cài xong bạn tiến hành cấu hình module
Vào trang quản trị -> Extensions -> Module Manager như hình dưới đây:
Tìm đến dòng và tiến hành cấu hìnhTìm đến dòng và tiến hành cấu hình
Bước 4: Các bạn chọn vị trí module hiển thị bằng cách kích vào Select position sẽ hiện lên danh sách các vị trí của modules sau đó chọn vị trí mà bạn muốn hiển thị trên website. Tiếp theo bạn kích hoạt module bằng cách chọn published như trong hình dưới đây:
Chọn vị trí hiển thịChọn vị trí hiển thị
Bước 5: Điền tên thành phố bạn muốn hiển thị thông tin thời tiết
Điền tên thành phố muốn hiển thị dự báo thời tiếtĐiền tên thành phố muốn hiển thị dự báo thời tiết
Bước 6: Lưu lại
Vậy là xong, chúc các bạn thành công!

(http://congngheweb.vn/nguon-mo/open-source-cms/module-hien-thi-thoi-tiet-cho-joomla-25.html)

Cách hiển thị Recaptcha trong joomla 2.5

Có một chức năng mới trong joomla 2.5 rất có ích mà bạn không thể bỏ qua đó là dùng reCaptcha cho các form liên hệ, đăng ký và đăng nhập với mục đính là tránh các mối nguy website của bạn bị spam không mong muốn.
Bước 1. Vào trang Google Recaptcha . Nếu bạn chưa có tài khoản gmail thì hãy tạo một tài khoản bằng cách kích lên My Account để đăng nhập vào. Sau đó bạn submit tên miền bằng cách nhấn và My Site.
Đăng nhập vào để lấy keyĐăng nhập vào để lấy key
Bước 2. Sau khi submit thành công tên miền của bạn lên, bạn bấm vào Get reCaptcha.
Get reCaptchaGet reCaptcha
Bước 3. Sau khi bạn đã có được 2 key là Public key và Private key như hình ví dụ trên. Bạn tiếp tục vào trang quản trị joomla --> Extensions --> Plugins --Captcha-ReCaptcha như hình dưới sau đó kích vào để điền 2 key trên.
ReCaptcha pluginReCaptcha plugin
Copy 2 key vào 2 ô tương ứngCopy 2 key vào 2 ô tương ứng
Bước 4. Lưu lại và sau đó kích hoạt plugin này lên:
congnghewebvn-joomla-captcha-enablecongnghewebvn-joomla-captcha-enable

Kết quả:
reCaptcha sau khi đã được tích hợpreCaptcha sau khi đã được tích hợp
Bạn nào có chia sẻ gì về joomla thì vào diễn đàn nhé.
Chúc các bạn thành công!

(http://congngheweb.vn/nguon-mo/open-source-cms/cach-hien-thi-recaptcha-trong-joomla-25.html)

AceSearch -component hỗ trợ tìm kiếm cho joomla 2.5

AceSearch là một component hỗ trợ tìm kiếm rất tốt cho joomla 1.5 và 2.5.
Kết quả tìm kiếm sử dụng component AcesearchKết quả tìm kiếm sử dụng component Acesearch
Component này bao gồm modules (một front-end module và một backend module) và plugins để hỗ trợ cho tìm kiếm trên website của bạn một cách chính xác.
AceSearch có các tính năng sau:
  • Front-end & Back-end search (tìm kiếm tại frontend và backend)
  • Relevant search results (tìm kiếm liên quan)
  • Advanced search with extra fields
  • Advanced search module (Module tìm kiếm)
  • Advanced filters system (Lọc)
  • Search statistics (thống kê tìm kiếm)
  • Supports search plugins (có plugin hỗ trợ tìm kiếm mạnh)
  • Supports all 3rd party components (hỗ trợ các component khác)
  • AJAX based & smart suggestions system (sử dụng kỹ thuật AJAX và có gợi ý tìm kiếm)
  • "Did you mean" functionality if no results
  • Google style (kiểu hiển thị giống google)
  • Easy-to-use interface (giao diện dễ sử dụng)
  • Light weight, on-the-fly search results (nhẹ)
  • Compatible with G. Analytics Site Search (tương thích với G. Analytics Site Search)
(http://congngheweb.vn/nguon-mo/open-source-cms/acesearch-component-ho-tro-tim-kiem-cho-joomla-25.html)

Tạo sitemap cho joomla 2.5 bằng Xmap

Chắc hẳn những ai làm SEO đều biết tầm quan trọng của sitemap như thế nào. Sitemap sẽ thông báo cho các search engines cấu trúc của website đó giúp cho việc đánh chỉ mục được dễ dàng hơn.
 Congngheweb.vn xin giới thiệu cách tạo sitemap cho joomla 2.5 bằng cách sử dụng component Xmap hoàn toàn miễn phí. Đây là một component tạo sitemap một cách tự động, bài viết của bạn sẽ được tự động cập nhật mỗi khi bạn post một bài mới.
Bước 1. Bạn download component này tại đây
Bước 2. Cài đặt.
Vào trang quản trị joomla -> Extensions Manager. Sau đó bạn tiến hành cài bình thường như cài các thành phần mở rộng khác.
Bước 3. Cấu hình
Tại trang admin, vào -> Components -> Xmap:sẽ hiển thị trang thông báo như sau:
Cấu hình sitemap -1Cấu hình sitemap -1
Xmap phát hiện các components và yêu cầu bạn cần phải kích hoạt các plugins mà Xmap hỗ trợ. Trong ví dụ trên, Xmap phát hiện 3 components và yêu cầu bạn kích hoạt 3 plugins hỗ trợ cho 3 component trên. Khi đó bạn kích vào Extensions (hình được khoanh màu xanh lá cây ở trên) để tìm và kích hoạt. Bạn làm theo hình dưới đây:
cau-hinh-xmap-2cau-hinh-xmap-2
Cấu hình Xmap Cấu hình Xmap
Bước 4. Tạo một sitemap
Sau khi kích hoạt các plugins, bạn vào lại -> Components ->Xmap và tạo một sitemap mới.
Tạo một sitemap mớiTạo một sitemap mới
Sau đó các bạn tiếp tục làm theo hình hướng dẫn dưới đây:
tao-sitemap-1tao-sitemap-1
tao-sitemap-2tao-sitemap-2
Sau đó các bạn nhấn nút Save&Close trên toolbar. Bạn tiếp tục làm như hình dưới:
Lấy đường dẫn sitemap đưa lên googleLấy đường dẫn sitemap đưa lên google
Sau khi bạn kích vào XML Sitemap như ô khoanh màu đỏ ở trên, bạn copy đường dẫn rồi đưa lên google nhé để google index website của bạn nhanh hơn bằng cách dùng công cụ google webmaster tool.

(http://congngheweb.vn/cong-nghe-web/quan-tri-web/seo/sef/tao-sitemap-cho-joomla-25-bang-xmap.html)

Sử dụng Artio JoomSEF tạo liên kết thân thiện cho joomla 2.5

Artio JoomSEF freeArtio JoomSEF freeJoomSEF Free là 1 component có tính năng tương tự một số component tạo đường dẫn thân thiện khác như Sh404SEF (hiện nay chỉ có bản thương mại và bạn phải mua component này), AceSEF (gồm có bản free và bản thương mại) dùng để tối ưu hóa đường link của joomla, làm cho website thân thiện hơn với các máy tìm kiếm như google, bing...
Như các bạn đều biết một trong các yếu tố quan trọng của SEO đó là website của bạn phải thân thiện với máy tìm kiếm. Điều đó sẽ giúp cho website của bạn  dễ dàng được các máy tìm kiếm "ghé thăm" và index nhanh hơn.
Xin được nói thêm về SEO: SEO là một hạn chế lớn nhất của joomla tuy vậy kể từ phiên bản joomla 1.7 (phiên bản mới nhất  tính đến thời điểm bài viết này là joomla 2.5.4) khả năng SEO của joomla đã tốt hơn trước đây rất nhiều, hỗ trợ cả unicode utf8 ...Tuy nhiên với component này nó giống như một liều thuốc tăng lực SEO cho joomla. Vậy các bạn còn chần chừ gì nữa.
 Các bạn sẽ hiểu rõ hơn qua so sánh dưới đây:
View source
  1. http://congnghe25/index.php?option=com_content&view=article&id=81:un-nuclear-watchdog-invited-to-visit-north-korea&catid=78:cong-ngh-web&Itemid=468
View source
  1. http://congnghe25/cong-nghe-web/un-nuclear-watchdog-invited-to-visit-north-korea.html
Dưới đây là hướng dẫn cụ thể:
Bước 1. Download JoomSEF Free tại đây
Bước 2. Tiến hành cài đặt.
Vào trang quản trị -> Extensions -> Extension Manager  sau đó bạn cài đặt. Cài đặt xong màn hình sẽ báo như sau là thành công:
Cài đặt Artio JoomSef Free thành côngCài đặt Artio JoomSef Free thành công
Bước 3. Thiết lập cấu hình.
Cấu hình JoomSEF tương đối đơn giản. Vẫn trong trang quản trị, bạn vào Component -> ARTIO JoomSEF -> Configuration:
Cấu hình tại thẻ BasicCấu hình tại thẻ Basic
Tại thẻ Basic:
- Joomsef enable? chọn Yes
- Enable Professional mode: chọn yes
- File suffix: Các bạn có thể điền vào là .htm hoặc .html tuy nhiên khuyến nghị các bạn để trống ô này.
- Use title or Allias ? chọn Full Title (chọn full title vì nếu chọn Title alias thì sẽ có thể có lỗi. Có cách khắc phục lỗi này: Các bạn có thể dùng jhellosef plugin để khắc phục lỗi về alias tiếng việt. Các bạn có thể tìm đọc bài viết này trong mục diễn đàn)
- All lowercase ? chọn yes
- www and non-www domain handling: chọn don't handle nếu bạn không rành về hosting.
Sau khi chọn hết các mục trên các bạn bấm "save" trên joomla toolbar.
Lưu ý: trước khi các bạn thực hiện bước "save" này joomsef chỉ hiển thị các tabs sau:
Sau khi lưu lại thì các tabs đầy đủ là:
Như vậy xuất hiện thêm tab "Advanced", bạn kích vào tab này và cấu hình tiếp:
Cấu hình tab Advanced Cấu hình tab Advanced

- Allow UTF-8 characters in URL: chọn "yes" nếu các bạn muốn hiển thị đường dẫn dưới dạng tiếng việt có dấu (Khuyến nghị các bạn chọn "no" vì tiếng việt không dấu tốt cho SEO hơn)
- Tại khung Non-ASCII char replacements: Các bạn delete hết các ký tự có sẵn và thay thế bằng các ký tự sau:
View source
  1. Á|A, Â|A, Å|A, Ă|A, Ä|A, À|A, Ć|C, Ç|C, Č|C, Ď|D, É|E, È|E, Ë|E, Ě|E, Ì|I, Í|I, Î|I, Ï|I, Ĺ|L, Ń|N, Ň|N, Ñ|N, Ò|O, Ó|O, Ô|O, Õ|O, Ö|O, Ŕ|R, Ř|R, Š|S, Ś|O, Ť|T, Ů|U, Ú|U, Ű|U, Ü|U, Ý|Y, Ž|Z, Ź|Z, á|a, â|a, å|a, ä|a, à|a, ć|c, ç|c, č|c, ď|d, đ|d, é|e, ę|e, ë|e, ě|e, è|e, ì|i, í|i, î|i, ï|i, ĺ|l, ń|n, ň|n, ñ|n, ò|o, ó|o, ô|o, ő|o, ö|o, š|s, ś|s, ř|r, ŕ|r, ť|t, ů|u, ú|u, ű|u, ü|u, ý|y, ž|z, ź|z, ˙|-, ß|ss, Ą|A, µ|u, Ą|A, µ|u, ą|a, Ą|A, ę|e, Ę|E, ś|s, Ś|S, ż|z, Ż|Z, ź|z, Ź|Z, ć|c, Ć|C, ł|l, Ł|L, ó|o, Ó|O, ń|n, Ń|N, á|a, à|a, ả|a, ã|a, ạ|a, â|a, ấ|a, ầ|a, ẩ|a, ẫ|a, ậ|a, ă|a, ắ|a, ằ|a, ẳ|a, ẵ|a, ặ|a, đ|d, é|e, è|e, ẻ|e, ẽ|e, ẹ|e, ê|e, ế|e, ề|e, ể|e, ễ|e, ệ|e, í|i, ì|i, ỉ|i, ĩ|i, ị|i, ó|o, ò|o, ỏ|o, õ|o, ọ|o, ô|o, ố|o, ồ|o, ổ|o, ỗ|o, ộ|o, ơ|o, ớ|o, ờ|o, ở|o, ỡ|o, ợ|o, ú|u, ù|u, ủ|u, ũ|u, ụ|u, ư|u, ứ|u, ừ|u, ử|u, ữ|u, ự|u, ý|y, ỳ|y, ỷ|y, ỹ|y, ỵ|y, Á|A, À|A, Ả|A, Ã|A, Ạ|A, Â|A, Ấ|A, Ầ|A, Ẩ|A, Ẫ|A, Ậ|A, Ă|A, Ắ|A, Ằ|A, Ẳ|A, Ẵ|A, Ặ|A, Đ|D, É|E, È|E, Ẻ|E, Ẽ|E, Ẹ|E, Ê|E, Ế|E, Ề|E, Ể|E, Ễ|E, Ệ|E, Í|I, Ì|I, Ỉ|I, Ĩ|I, Ị|I, Ó|O, Ò|O, Ỏ|O, Õ|O, Ọ|O, Ô|O, Ố|O, Ồ|O, Ổ|O, Ỗ|O, Ộ|O, Ơ|O, Ớ|O, Ờ|O, Ở|O, Ỡ|O, Ợ|O, Ú|U, Ù|U, Ủ|U, Ũ|U, Ụ|U, Ư|U, Ứ|U, Ừ|U, Ử|U, Ữ|U, Ự|U, Ý|Y, Ỳ|Y, Ỷ|Y, Ỹ|Y, Ỵ|Y
Các mục còn lại trong tab "advanced" này các bạn giữ nguyên không nên thay đổi.
Chuyển qua tab "Cache":
Cấu hình cacheCấu hình cache
- Use cache? : các bạn chọn "yes" nhé vì việc này tốt cho tốc độ của website.
Chuyển sang tab "Title and Meta Tags":
Cấu hình tab Meta tile and tagsCấu hình tab Meta tile and tags
Theo kinh nghiệm của congngheweb.vn thì các bạn chọn như 2 mục được khoanh đỏ ở trên nhé (lý do vì sao xin được giải thích sau nhé). Các mục khác tại tab này bỏ qua.
Chuyển qua tab "Google Analytics": các bạn điền các thông số email, web ID các bạn đăng ký trên google nhé.
- Các tabs còn lại các bạn có thể bỏ qua nhé.
Trên đây là cách cấu hình để các bạn có thể bước đầu sử dụng Artio JoomSEF free để tạo đường dẫn thân thiện cho joomla 2.5. congngheweb.vn sẽ tiếp tục viết bài hướng dẫn sử dụng thêm về component rất hay này.

(http://congngheweb.vn/cong-nghe-web/quan-tri-web/seo/sef/su-dung-artio-joomsef-tao-lien-ket-than-thien-cho-joomla-25.html)

Thứ Bảy, 26 tháng 5, 2012

Khắc phục lỗi trùng lặp nội dung trong SEO

Hôm nay mình viết bài về một khái niệm rất đỗi quen thuộc với anh chị em Webmaster nói chung. Đó là Duplicate Content (trùng lặp nội dung).
Trước hết chúng ta cần hiểu Duplicate Content xuất hiện là do:
- Khi tags được sử dụng và chuyển đến bản gốc của mã nguồn trong một hệ thống CMS.
- Khi website của bạn chưa được tối ưu hóa cấu hình đúng trên server cấp cơ sở (tức là sự không đống bộ giữa http:// và http://www. hoặc tồn tại nhiều trang chủ dạng domain/ và domain/index.php…)
- Khi các url chưa các mã số theo dõi, track code, id…
- Khi có nhiều biến thể của 1 trang, có thể là thiếu nội dung (vì vậy mặc định chuyển hướng và khía cạnh nội dung được xem như tương tự) hoặc chứa 1 khả năng chính xác cao với một số từ và cụm từ.
Vậy làm cách nào để tránh trùng lặp nội dung
1. Trước hết ta giải quyết vấn đề http:// và http://www. bằng việc sử dụng .htaccess
Nếu bạn muốn sử dụng dạng www.domain.com thì hãy sử dụng đoạn mã sau :


Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]

Ngược lại bạn muốn sử dụng dạng domain.com (giống như Web4v.net đang sử dụng ) thì sử dụng đoạn mã :

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/ [R=301,L]

(Trong cả 2 đoạn mã trên bạn nhớ thay domain.com thành tên miền mà bạn đang sử dụng)
2. Tiếp theo ta giải quyết vấn đề nội dung trang
Chúng ta sử dụng thẻ rel=”canonical” để phân biệt url chủ, như vậy các trang không phải cạnh tranh với các bản sao của mình, nhờ đó search engine có thể dễ dàng loại bỏ việc đánh chỉ mục các trang trùng lặp.
duplicate1content
Plugin thêm rel=canonical cho joomla các bạn download tại đây: 

(http://web4v.net/kien-thuc-website/joomla/1912-khac-phuc-loi-trung-lap-noi-dung-trong-seo.html)

Chèn quảng cáo trượt 2 bên nhanh chóng, đơn giản

chỉ mất 2 phút để có thể thêm quảng cáo trượt 2 bên cho Joomla.
Module sử dụng của maxdesign
1. sửa file file /templates/temp_cua_ban/index.php :
Thêm vào trước thẻ dòng sau:
2.Sửa file /templates/temp_cua_ban/templateDetails.xml :
thêm vào giữa các thẻ dòng sau:
float-ad
3. Cài đặtt module bình thường, chọn vị trí hiện thị là float-ad
http://www.mediafire.com/?bej9n2dqk18bgzg


(http://web4v.net/kien-thuc-website/joomla/1911-chen-quang-cao-truot-2-ben-nhanh-chong-don-gian.html)

Cách thay đổi thẻ Meta Generator "Joomla! xx - Open Source Content Management

Nhiều bạn sử dụng Joomla nhưng quên hoặc không hề biết một dòng bản quyền của joomla mà trong phần administrator không có chổ tùy chỉnh chỉ khi từ trình duyệt tại thẻ view >> page soucre thì bạn mới thấy được dòng chử này
web4v.net xin giới thiệu 2 cách để thay đổi dòng chữ này

Cách 1
Bạn tìm theo đường dẫn
libraries/joomla/document/html/renderer/head.php
Tìm dòng 84

$strHtml .= $tab.'getGenerator().'" />'.$lnEnd;

đặt vào trước nó dấu chú thích.:

//$strHtml .= $tab.'

content="'.$document->getGenerator().'" />'.$lnEnd;

Cách 2: tìm tới
libraries/joomla/document/document.php
mở file đó lên tìm dòng

var $_generator = 'Joomla! 1.5 - Open Source Content Management';


Và bạn chỉ cần sửa lại cho phù hợp với website bạn.

(http://web4v.net/kien-thuc-website/joomla/1907-can-thay-the-meta-generator-qjoomla-xx-open-source-content-management.html)
Trên các trang web Joomla, chúng ta thường cho hiển thị các module vào các position (vị trí) đã có sẵn. Chẳng hạn cho hiển thị module quảng cáo Google Adsense vài vị trí left (bên trái), cho hiển thị module tin liên quan vào vị trí right (bên phải), cho hiển thị banner quảng cáo tại vị trí top...
Và do đó nhiều người đã đặt câu hỏi đại loại như:
  • Liệu Joomla có thể cho phép chèn module vào bài viết thay vì vào các vị trí đã có sẵn hay không?
  • Làm thế nào để chèn module quảng cáo Google Adsense, module quảng cáo Adbrite, module tin liên quan, module menu... vào bài viết?
Câu trả lời là: "Joomla hoàn toàn có thể làm được, thậm chí rất nhanh và dễ dàng".

Các thao tác thực hiện chỉ gồm các bước sau:

Bước 1: Thêm mới hoặc nhân bản một module mà bạn muốn chèn vào bài viết.

  • Mở menu Extensions -> Module Manager
  • Thêm mới module bằng cách nhấn vào nút [New], chọn loại module.
  • Nếu bạn muốn nhân bản một module đã có sẵn thì nhấn vào nút [Copy].

Bước 2: Mở module mới được tạo thêm hoặc vừa được nhân bản

  • Mở module mà bạn đã tạo ở bước trên
  • Nếu bạn nhân bản một module đã có sẵn thì module mới sẽ có tên bắt đầu bằng "Copy of..."

Bước 3: Gán cho module vị trí mới

  • Tại mục "Postion", thay vì chọn những vị trí đã có sẵn trong danh sách thả xuống chúng ta có thể gõ vào một vị trí mới, chẳng hạn "vi-tri-quang-cao-Adsense" (nên chọn một cái tên bất kỳ khác với những cái đã có trong danh sách)

Bước 4: Mở bài viết mà bạn muốn chèn module

  • Mở bài viết mà bạn muốn chèn module, và tại vị trí cần chèn, bạn gõ đoạn mã sau:
  • {load position vitrimodule}   (giữa load và position không có khoảng trắng nhá)

  • Thay "vitrimodule" bằng tên vị trí mà bạn đã gán cho module cần chèn, chẳng hạn "vi-tri-quang-cao-Adsense" (không có dấu ")

Lưu ý:

Nếu không thấy module xuất hiện trong bài viết thì bạn cần kiểm tra xem plugin_loadmodule đã được bật chưa (vào menu Extensions -> Plugin Manager)
Để điều khiển định dạng của module được chèn mới trong bài viết, bạn có thể vào phần quản lý Plugin (menu Extensions -> Plugin Manager), chọn plugin có tên "Content - Load Module", trong phần tham số bên tay phải, tìm mục "Style" và chọn định dạng muốn xuất ra.
Không bao giờ sử dụng các vị trí đã có sẵn như "left", "right", "user1"... vì Joomla! sẽ hiện tất cả các module mà trước đó đã được gán cho các vị trí này và chúng ta sẽ khó mà kiểm soát cách chúng hiển thị.
Tham khảo Vinarao

(http://web4v.net/kien-thuc-website/joomla/1909-chen-module-vao-bai-viet-trong-joomla.html)

Joomla 2.5 bug fix

  1. Class 'JParameter' not found:
    You can fix the error by adding: jimport( 'joomla.html.parameter' );
    (http://forum.joomla.org/viewtopic.php?p=2727562)

Thứ Hai, 21 tháng 5, 2012

Hướng dẫn Việt hóa Joomla 1.5

Joomla! 1.5 ra đời đánh dấu sự nhảy vọt cả về cách trình bày, giao diện, tính năng, kiến trúc và "...hỗ trợ tất cả các ngôn ngữ có tập ký tự được biểu diễn bằng bảng mã UTF-8..." (trích dẫn từ http://vi.wikipedia.org/wiki/Joomla). Với Joomla! 1.5 việc bản địa hóa đã trở nên dễ dàng hơn, toàn diện hơn (sử dụng bảng mã Unicode và cho phép bản địa hóa cả phần front-end, back-end). Bài viết này sẽ giúp các bạn nhanh chóng Việt hóa Joomla! (Việt hóa cả phần front-end và back-end) chỉ sau vài bước đơn giản

Việt hóa phần tiền sảnh front-end (phía người sử dụng)

Các gói ngôn ngữ phần tiền sảnh của Joomla! 1.5 được lưu trong thư mục "\language". Gói ngôn ngữ tiếng Anh sẽ được lưu trong thư mục "\language\en-GB". Trong thư mục này lại có các file sau:
  • index.html: Để tránh các hacker liệt kê các file và thư mục.
  • en-GB.xml: Mô tả các thông tin liên quan tới gói ngôn ngữ.
  • en-GB.ignore.php: Danh sách các ký tự bỏ qua khi tìm kiếm.
  • en-GB.ini: File ngôn ngữ chính của Joomla!
  • en-GB.com_xxx.ini: File ngôn ngữ cho component có tên là com_xxx.
  • en-GB.mod_xxx.ini: File ngôn ngữ cho module có tên là mod_xxx.
  • en-GB.plg_xxx.ini: File ngôn ngữ cho các plugin có tên liên quan.

Để tạo gói ngôn ngữ tiếng Việt. Chúng ta làm như sau:

Bước 1. Tạo thư mục chứa gói ngôn ngữ tiếng Việt: "\language\vi-VN"
Bước 2. Copy toàn bộ các file trong thư mục "\language\en-GB" tới thư mục "\language\vi-VN"
Bước 3. Thay phần tiền tố của tên các file tiếng Anh (en-GB) bằng tiền tố của file tiếng Việt (vi-VN). Nghĩa là ta có cấu trúc thư mục chứa gói ngôn ngữ tiếng Việt như sau:
\language\vi-VN\
---------------\index.html
---------------\vi-VN.xml
---------------\vi-VN.ignore.php
---------------\vi-VN.ini
---------------\vi-VN.com_xxx.ini
---------------\vi-VN.mod_xxx.ini
---------------\vi-VN.plg_xxx.ini
Bước 4. Thay file "vi-VN.xml", "vi-VN.ignore.php" bằng 2 file đính kèm sau:Download
Bước 5. Mở các file *.ini bằng trình soạn thảo Notepad++ (khuyến cáo).
Bước 6. Chọn định dạng (mở menu Format) khi lưu các file này: "UTF-8 without BOM" (lưu các ký tự tiếng Việt nhưng không chèn thêm ký tự đánh dấu UTF-8 ở đầu file).
Bước 7. Tiến hành Việt hóa. Thay các từ/cụm từ tiếng Anh bằng từ/cụm từ tiếng Việt tương đương.

Việt hóa phần hậu sảnh back-end (phía người quản trị)

Gói ngôn ngữ tiếng Anh của phần hậu sảnh Joomla! được lưu trong thư mục "administrator\language\en-GB".
Việc Việt hóa được tiến hành tương tự như phần tiền sảnh front-end của Joomla!.

Chú ý:

Tất cả các file nếu nội dung có chứa tiếng Việt thì đều phải lưu với lựa chọn "UTF-8 without BOM".

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla/huong-dan-viet-hoa-joomla-1-5)

Rút gọn địa chỉ login admin cpanl trong joomla

Tạo file có tên .htaccess có nội dung:
            Redirect /123 http://domain name/administrator
rồi upload lên thư mục chứa joomla trên host khi đó địa chỉ login vào admin cpanel không còn là
 http://domain name/administrator bạn chỉ cần đăng nhập bằng đường link: http://domain name/123

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla)

Thay đổi các trang thông báo lỗi

Để thay đổi các thông báo lỗi, copy file [Joomla]/templates/system/error.php vào thư mục template của bạn (VD: [Joomla]/templates/vinaora_template). Khi đó Joomla sẽ sử dụng file "error.php" trong template của bạn thay vì file "error.php" trong thư mục /system ở trên. Bạn có thể định dạng hoặc tùy biến file này sao cho nó phù hợp với yêu cầu của bạn.

Copy file "error.php" trong thư mục "system"

[Joomla]
|-------/templates
|-----------------/system
|------------------------/error.php

Chuyển tới thư mục chứa template của bạn

[Joomla]
|-------/templates
|-----------------/vinaora_template
|---------------------------------/error.php


Thay đổi định dạng, kiểu dáng của thông báo lỗi

Nếu bạn muốn thay đổi định dạng, kiểu dáng của các thông báo lỗi thì copy file  [Joomla]/templates/system/error.css vào thư mục template của bạn (VD: [Joomla]/templates/vinaora_template).

Copy file "error.css" trong thư mục "system"

[Joomla]
|-------/templates
|-----------------/system
|------------------------/error.css

Chuyển tới thư mục chứa template của bạn

[Joomla]
|-------/templates
|-----------------/vinaora_template
|---------------------------------/error.css
 Tiếp theo, cập nhật lại file "error.php" ở trên sao cho nó nhận file css mới bằng cách chèn đoạn mã sau:
Rồi thì thay đổi file "error.css" theo yêu cầu của bạn.
Nhớ thay "vinaora_template" bằng tên template mà bạn đang sử dụng

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla/thay-doi-cac-thong-bao-loi)

Chỉ hiển thị vùng {mainbody} hay vùng {component} của một Website Joomla

Để hiển thị vùng {mainbody} hay vùng {component} của một Website Joomla 1.5 mà không có bất cứ một module nào và cũng không áp dụng định dạng do file CSS quy định bạn có thể sử dụng mẹo sau:
Thêm "?tmpl=component" hoặc "&tmpl=component" và phía cuối đường link của một trang bất kỳ mà bạn muốn hiện vùng {mainbody} / {component}.
Thí dụ: Nếu muốn hiển thị vùng {mainbody} / {component} của website http://tapthietkeweb.tk bạn chỉ cần thêm "?tmpl=component" vào phía cuối của đường link để có link dạng như sau:
        http://tapthietkeweb.tk/?tmpl=component
Vùng {mainbody} / {component} là vùng (P) trong hình trên, nơi sẽ nạp component của trang.
Trong trường hợp bạn lại không muốn mọi người xem được vùng {mainbody} /{component} của Website bạn có thể sử dụng đoạn mã sau, đặt vào file .htaccess.
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{QUERY_STRING} tmpl=
    RewriteRule ^(.*)$ http://vinaora.com/index.php [F,L] 
Chú ý: Thay http://tapthietkeweb.tk bằng địa chỉ Website của bạn.
Và nếu muốn chuyển hướng về trang chủ thì thay [F,L] bằng [R,L] 
F: Fobridden, R: Redirect, L: Last Rule) 

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla/hien-thi-vung-mainbody-hay-vung-component-cua-mot-website-joomla)

Thêm một vị trí module mới vào template

Đối với Joomla 1.5.x

Mở file chứa template của bạn chẳng hạn "\templates\vinaora\index.php", xác định chỗ mà bạn muốn thêm một vị trí module mới và đặt vào đoạn mã sau:
 if ($this->countModules('vinaora_new_position')) : ?>
    
include type="modules" name="vinaora_new_position" style="xhtml" />
endif; ?>
Tiếp theo, mở file "\templates\vinaora\templateDetails.xml", thêm vào mục đoạn mã sau:
vinaora_new_position
Trong đó thuộc tính "style" có thể là: rounded, none, table, horz, xhtml, outline

Đối với Joomla 1.0.x

Mở file chứa template của bạn chẳng hạn "\templates\vinaora\index.php", xác định chỗ mà bạn muốn thêm một vị trí module mới và đặt vào đoạn mã sau:
 if (mosCountModules('vinaora_new_position')>0) { ?>
         mosLoadModules('vinaora_new_position',-2); ?>
 } ?>
Trong đó tham số thứ hai của hàm mosLoadModules là một trong 5 số nguyên: 1 = horizontal, 0 = normal, -1 = raw, -2 = XHTML và -3 = extra divs.

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla/them-mot-vi-tri-module-moi-vao-template)

Cách sửa lỗi hiển thị tiếng việt trên URL của Joomla! 1.5

Không biết các bạn có để ý thấy là khi bật chế độ SEF (Search Engine Friendly URLs) của Joomla! thì trên thanh địa chỉ của trình duyệt hiển thị không đúng với tên bài viết, cụ thể là bị mất một số ký tự có dấu tiếng Việt.
Thí dụ tên bài viết là:
    "Tạo biểu đồ Gantt trong excel 2007"
Còn trên thanh địa chỉ là:
    http://quocbinhvip.tk/tin-hc/microsoft-excel/359-to-biu-gantt-trong-excel.html
Sau đây là cách sửa lỗi này:
1. Mở tập tin:
                    /libraries/joomla/filter/filteroutput.php
Tìm dòng:
 function stringURLSafe($string)
   {
      //remove any '-' from the string they will be used as concatonater
      $str = str_replace('-', ' ', $string);
      $lang =& JFactory::getLanguage();
      $str = $lang->transliterate($str);
      // remove any duplicate whitespace, and ensure all characters are alphanumeric
      $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);
      // lowercase and trim
      $str = trim(strtolower($str));
      return $str;
   }
 Xóa hết các dòng này đi và thay thế bằng:
 function stringURLSafe($string)
        {
      $trans = array(
      "đ"=>"d","ă"=>"a","â"=>"a","á"=>"a","à"=>"a",
      "ả"=>"a","ã"=>"a","ạ"=>"a",
      "ấ"=>"a","ầ"=>"a","ẩ"=>"a","ẫ"=>"a","ậ"=>"a",
      "ắ"=>"a","ằ"=>"a","ẳ"=>"a","ẵ"=>"a","ặ"=>"a",
      "é"=>"e","è"=>"e","ẻ"=>"e","ẽ"=>"e","ẹ"=>"e",
      "ế"=>"e","ề"=>"e","ể"=>"e","ễ"=>"e","ệ"=>"e",
      "í"=>"i","ì"=>"i","ỉ"=>"i","ĩ"=>"i","ị"=>"i",
      "ư"=>"u","ô"=>"o","ơ"=>"o","ê"=>"e",
      "Ư"=>"u","Ô"=>"o","Ơ"=>"o","Ê"=>"e",
      "ú"=>"u","ù"=>"u","ủ"=>"u","ũ"=>"u","ụ"=>"u",
      "ứ"=>"u","ừ"=>"u","ử"=>"u","ữ"=>"u","ự"=>"u",
      "ó"=>"o","ò"=>"o","ỏ"=>"o","õ"=>"o","ọ"=>"o",
      "ớ"=>"o","ờ"=>"o","ở"=>"o","ỡ"=>"o","ợ"=>"o",
      "ố"=>"o","ồ"=>"o","ổ"=>"o","ỗ"=>"o","ộ"=>"o",
      "ú"=>"u","ù"=>"u","ủ"=>"u","ũ"=>"u","ụ"=>"u",
      "ứ"=>"u","ừ"=>"u","ử"=>"u","ữ"=>"u","ự"=>"u",
      "ý"=>"y","ỳ"=>"y","ỷ"=>"y","ỹ"=>"y","ỵ"=>"y",
      "Ý"=>"Y","Ỳ"=>"Y","Ỷ"=>"Y","Ỹ"=>"Y","Ỵ"=>"Y",
      "Đ"=>"D","Ă"=>"A","Â"=>"A","Á"=>"A","À"=>"A",
      "Ả"=>"A","Ã"=>"A","Ạ"=>"A",
      "Ấ"=>"A","Ầ"=>"A","Ẩ"=>"A","Ẫ"=>"A","Ậ"=>"A",
      "Ắ"=>"A","Ằ"=>"A","Ẳ"=>"A","Ẵ"=>"A","Ặ"=>"A",
      "É"=>"E","È"=>"E","Ẻ"=>"E","Ẽ"=>"E","Ẹ"=>"E",
      "Ế"=>"E","Ề"=>"E","Ể"=>"E","Ễ"=>"E","Ệ"=>"E",
      "Í"=>"I","Ì"=>"I","Ỉ"=>"I","Ĩ"=>"I","Ị"=>"I",
      "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E",
      "Ư"=>"U","Ô"=>"O","Ơ"=>"O","Ê"=>"E",
      "Ú"=>"U","Ù"=>"U","Ủ"=>"U","Ũ"=>"U","Ụ"=>"U",
      "Ứ"=>"U","Ừ"=>"U","Ử"=>"U","Ữ"=>"U","Ự"=>"U",
      "Ó"=>"O","Ò"=>"O","Ỏ"=>"O","Õ"=>"O","Ọ"=>"O",
      "Ớ"=>"O","Ờ"=>"O","Ở"=>"O","Ỡ"=>"O","Ợ"=>"O",
      "Ố"=>"O","Ồ"=>"O","Ổ"=>"O","Ỗ"=>"O","Ộ"=>"O",
      "Ú"=>"U","Ù"=>"U","Ủ"=>"U","Ũ"=>"U","Ụ"=>"U",
      "Ứ"=>"U","Ừ"=>"U","Ử"=>"U","Ữ"=>"U","Ự"=>"U",);
    
        //remove any '-' from the string they will be used as concatonater
        $str = str_replace('-', ' ', $string);
      $str = strtr($str, $trans);
        $lang =& JFactory::getLanguage();
        $str = $lang->transliterate($str);
        // remove any duplicate whitespace, and ensure all characters are alphanumeric
        $str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);
                // lowercase and trim
                $str = trim(strtolower($str));
                return $str;
        }
Sau khi sửa xong thì save file này lại. Tuy nhiên việc sửa đổi này chỉ có hiệu lực đối với các bài viết từ nay về sau mà thôi, còn các bài viết trước vẫn còn bị lỗi. Bạn phải mở (Edit) bài viết ra và xóa hết toàn bộ ký tự trong ô Alias (nằm ngay phía dưới Title) và nhấn Save (hoặc Apply) các lỗi sẽ được tự động sửa.
Bây giờ trên thanh địa chỉ sẽ là:
            http://quocbinhvip.tk/tin-hc/microsoft-excel/359-tao-bieu-do-gantt-trong-excel-2007.html
Không còn lỗi mất chữ nữa!

(http://sites.google.com/site/ktdtk4/thiet-ke-website/joomla/cach-sua-loi-hien-thi-tieng-viet-tren-url-cua-joomla-1-5)

Thứ Tư, 16 tháng 11, 2011

Joomla: Tham khảo

http://misoblog.net/joomla/6-extension-huu-ich-doi-voi-blog-joomla.html
http://misoblog.net/joomla/facebook-like-button-for-joomla.html
http://misoblog.net/joomla/chong-hotlink-bang-htaccess-trong-joomla.html
http://misoblog.net/joomla/cai-dat-va-su-dung-sh404sef-voi-joomla.html
http://misoblog.net/joomla/show-tabs-in-virtuemart-product-detail.html
http://misoblog.net/joomla/tich-hop-joomla-va-phpbb.html
http://misoblog.net/joomla/cai-dat-sitemap-cho-joomla-bang-xmap.html

Thứ Hai, 31 tháng 10, 2011

Joomla

URL:
JRoute::_( 'index.php?option=com_user&view=login' );
JURI::base();
JPATH_ADMINISTRATOR The path to the administrator folder.
JPATH_BASE The path to the installed Joomla! site.
JPATH_CACHE The path to the cache folder.
JPATH_COMPONENT The path to the current component being executed.
JPATH_COMPONENT_ADMINISTRATOR The path to the administration folder of the current component being executed.
JPATH_COMPONENT_SITE The path to the site folder of the current component being executed.
JPATH_CONFIGURATION The path to folder containing the configuration.php file.
JPATH_INSTALLATION The path to the installation folder.
JPATH_LIBRARIES The path to the libraries folder.
JPATH_PLUGINS The path to the plugins folder.
JPATH_ROOT The path to the installed Joomla! site.
JPATH_SITE The path to the installed Joomla! site.
JPATH_THEMES The path to the templates folder.
JPATH_XMLRPC The path to the XML-RPC Web service folder.(1.5 only)


Language:
JLanguage::load($extension= 'joomla'
$basePath=JPATH_BASE
$lang=null
$reload=false)
(http://docs.joomla.org/JLanguage::load/1.5)


Add script:
// Add a reference to a Javascript file
// The default path is 'media/system/js/'
JHTML::script($filename, $path, $mootools);

// Add a reference to a CSS file
// The default path is 'media/system/css/'
JHTML::stylesheet($filename, $path);

If your script requires Mootools, include the line:
JHTML::_("behavior.mootools");

$document =& JFactory::getDocument();
$document->addScript($url);
$document->addStyleSheet($url);
(http://docs.joomla.org/Adding_JavaScript_and_CSS_to_the_page)


Query:
$db =& JFactory::getDBO();
$db->setQuery($query, 0, $items);
$rows = $db->loadObjectList();


User:
$user =& JFactory::getUser();
$aid = $user->get('aid', 0);


ini_set:
ini_set('max_execution_time', 180);
ini_set('post_max_size', '64M');
ini_set('memory_limit', '64M');


Xem vị trí các module trong Joomla:
Trên url thêm ?tp=1