Skip navigation

Lost password? | Help

Everybody see me !

Paypal chính thức checkout từ Payal Việt Nam

Xin lỗi đã cập nhật trễ vụ này ... Ngày 14/10/2009 có thể coi là ngày thương mại điện tử ở Việt Nam khi hệ thống thanh toán trực tuyến số một thế giới Paypal đã chính thức việc gửi-rút-nhận tiền từ các ngân hàng ở Việt Nam. Sự kiện này mang một ý nghĩa vô cùng to lớn, nó đã đưa ngành thương mại điện tử "nửa vời" ở Việt Nam tiến thêm một bước mới. Cũng chính sự kiện này mà hàng loạt các Website ở Việt Nam sẽ đúng nghĩa với tên gọi của nó là Website thương mại điện tử.

Còn chờ gì nữa hỡi những người năng động chân trời mới đã mở ra cho chúng ta rồi, bây giờ nhiệm vụ chính là ở chúng ta hay nắm bắt những cơ hội và thực hiện những ý tưởng và những hoài bão đã ấp ủ từ lâu.

Tuy nhiên để cho hệ thống thanh toán này có thể hỗ trợ một cách tối đa các dịch vụ ở Việt Nam, tôi nghĩ rằng chúng ta cũng cần phải có ý thức trong việc sử dụng nó để VN không một lần nữa lọt vào danh sách đen.

Ở bài viết tiếp theo, tớ sẽ hướng dẫn bạn cách đăng ký cũng như cách xây dựng checkout qua paypal. hãy chờ xem !

Một lần nữa xin chúc các bạn thành công.

Đã đến lúc không cần hỗ trợ IE6

Câu hỏi đầu tiên mà tôi muốn hỏi các bạn đó là "Vì sao mà bạn vẫn còn lưu luyến với IE6?". Có phải trình duyệt đó vẫn còn tốt, hay bạn đã quen thuộc với trình duyệt đó và ngại thay đổi sang một trình duyệt khác phức tạp hơn.

Cho tới thời điểm hiện tại thì những lý do nêu trên đều không còn phù hợp nữa bởi những điều giải thích sau.
Trình duyệt IE6 vẫn còn tốt?

Trình duyệt IE6 được Microsoft cho ra đời bản đầu tiên vào tháng 8 năm 2001 và bản cuối cùng ra đời vào tháng 8 năm 2004, nó được đính kèm trong bộ cài đặt của Windows XP. Như vậy chỉ so sánh về mặt thời gian thôi thì ta cũng thấy được phiên bản này đã quá cũ, thêm vào đó nó còn chứa rất nhiều lỗi về bảo mật đối với hệ thống Website. Mặt khác cho tới thời điểm hiện tại thì sản phẩm IE đã được phát triển thêm 2 giai đoạn nữa đó là IE7 và IE8. Hai phiên bản IE sau này đã khắc phúc và sửa chữa được rất nhiều nhược điểm của phiên bản trước(IE6), đồng thời Microsoft cũng đã đính kèm thêm rất nhiều tính năng và những tiện ích mới cho hai phiên bản tiếp theo. Do vậy chúng ta thấy rằng IE6 không còn tốt như bạn tưởng.

Bạn ngại làm quen với một trình duyệt khác hoặc với phiên bản mới của IE?

Điều đầu tiên là bạn hãy loại bỏ những ý nghĩ đó ra khỏi đầu và bắt tay vào cập nhật mới cho phiên bản IE6 đã lạc hậu của bạn. Hãy update phiên bản IE mới nhất hoặc cài một trong các trình duyệt mà được mọi người đánh giá cáo như Firefox, Opera, Safari để tận hưởng và theo kịp với xu hướng của công nghệ Web.

Đối với các nhà phát triển và các nhà thiết kế Web thì việc loại bỏ phiên bản IE6 gần như là một tất yếu bởi một lý do chính đó là, trình duyệt này đã không cập nhật được công nghệ Web hiện tại. Nó như là một rào cản đối với việc phát triển công nghệ cho Web.

Chính vì những lý do trên mà chúng ta hãy dần đưa IE6 vào quá khứ.

PAYMENT INFORMATION AND INSTRUCTION HOW TO USE ONLINE PAYMENT WITH ONEPAY/VCB

Mô hình thanh toán trực tuyến với thẻ onepay được thực hiện tương tự các mô hình thanh toán chuẩn trên thế giới, trong đó có sự tham gia của chủ thẻ, website của đơn vị chấp nhận thẻ (ĐVCNT), Vietcombank và cổng thanh toán OnePAY. Vietcombank vừa đóng vai trò ngân hàng thanh toán, đồng thời là ngân hàng phát hành.
one20p

Trong mô hình này, khách hàng là chủ thẻ sau khi lựa chọn hình thức thanh toán trực tuyến với Connect 24 trên website sẽ nhập thông tin thẻ theo yêu cầu tại cổng thanh toán OnePAY. Các thông tin này được gửi đến Vietcombank để kiểm tra số dư trong tài khoản.

Nếu thẻ đã được kích hoạt chức năng thanh toán trực tuyến, số dư tài khoản đủ để thanh toán thì Vietcombank và OnePAY sẽ yêu cầu khách hàng xác thực chủ tài khoản bằng phương thức OTP (One Time Password).

Giao dịch qua bước xác thực này sẽ được Vietcombank cấp phép thành công. Vietcombank sẽ ghi nợ tài khoản thẻ và ghi có tài khoản của ĐVCNT ngay sau khi giao dịch thành công .

Hiện nay, chủ thẻ cần đăng ký dịch vụ SMS banking để kích hoạt chức năng thanh toán trực tuyến của thẻ Connect24. Vietcombank có 3 hình thức đăng ký dịch vụ:

1. Đăng ký tại ATM.

2. Đăng ký qua trực tuyến (nếu bạn đã có tài khoản Internet banking, hãy đăng ký trực tuyến tại địa chỉ: https://www.vietcombank.com.vn/ibanking).

3. Đăng ký tại quầy giao dịch: Điền thông tin vào mẫu đính kèm và đăng ký tại phòng giao dịch bất kỳ của Vietcombank (VCB-eB@nking Registration Form (For Individual).pdf).

Bí quyết đưa web lên trang nhất Google

Bạn định bán "sản phẩm A" qua mạng với website của mình?
Bạn muốn khi search Google từ "sản phẩm A" website của mình sẽ xuất hiện ở ngay trang nhất kết quả tìm kiếm Gooogle?
Với kinh nghiệm là một Seoer khá thành công với các web www.onap.vn, www.shopmevabe.vn, www.tit.vn, tôi xin được chia sẻ với các bạn thực tế tôi đã triển khai các web của mình như thế nào để từ khoá mục tiêu đưa lên được trang nhất Google.
Tôi ví dụ với trang www.onap.vn, các bước tôi đã làm như sau:

1.0. Tối ưu các thẻ Title, description, keyword, chèn các đoạn code của google:

1.1 Meta title: thẻ này theo tôi là quan trọng nhất trong lĩnh vực SEO, để tối ưu thẻ này, các bạn cần nghiên cứu thật tốt các từ khoá mà mình định quảng bá, xác định đâu là từ khoá phải ưu tiên hơn và lưu ý rằng từ khoá quan trọng nhất phải được liệt kê đầu tiên, trường hợp này tôi ưu tiên quảng bá từ khoá: ổn áp, ổn áp Lioa, ổn áp Stada. Tôi viết thẻ title cho trang chủ như sau:
- On ap | ổn áp | onap | Showroom ONAP.VN
Lưu ý khi viết thẻ title:
• Từ khoá chèn thẻ title phải phản ánh nội dung trang.
• Từ khoá sử dụng ở thẻ title phải là duy nhất xuyên suốt các page của web
• Số lượng ký tự của thẻ title nhỏ hơn 70.
- Ví dụ tôi viết thẻ title của trang chủ và trang Biến áp Lioa như sau:
On ap | ổn áp | onap | Showroom ONAP.VN
Biến áp Lioa | bien ap Lioa
• Thẻ title chỉ nên chèn từ khoá dạng liệt kê: Biến áp Lioa | bien ap Lioa thay vì: ONAP.VN chuyên bán máy biến áp LIOA
1.2 Meta description: Thẻ này bạn nên mô tả nội dung của page dưới dạng câu văn hoàn chỉnh (có lặp lại từ khoá ở title nhưng chỉ 1 lần), giống như một đoạn quảng cáo vậy. tôi chèn thẻ này ở trang chủ như sau: <meta name="description" content= "Showroom ONAP.VN - trung tâm bán buôn, bán lẻ các sản phẩm ổn áp, máy biến áp thương hiệu Lioa, Standa. Miễn phí giao hàng, lắp đặt tận nhà."\/>
Lưu ý: số lượng ký tự của thẻ description nhỏ hơn 155.
1.3, Meta keywords: thẻ này các bạn chèn từ khoá dạng liệt kê, nhớ cách nhau bằng dấu ‘,’. Tôi chèn như sau: "keywords" content= "On ap, onap, ổn áp, đại lý ổn áp, dai ly on ap, ổn áp điện tử, on ap dien tu, ổn áp tự động, on ap tu dong "\/>
1. 3: Chèn các đoạn code của google: các bạn nên sử dụng webmaster tool và Google analytics của Google cho web mình.
Ngoài ra, các file robots.txt, sitemap.xml cũng là cần thiết cho việc khai báo Google.
Ví dụ: tôi đã khai báo sitemap với Google như sau: http://onap.vn/sitemap.xml
2.0 Content is king, links is Queen

Các bạn thấy đấy, nội dung và backlink của web rất quan trọng, hãy viết nội dung cho web thật hữu dụng với người dùng, tuy vậy cũng lưu ý chèn anchortext thật khéo léo trong bài viết, tôi ví dụ với bài viết này: http://www.onap.vn/TD07/135/473/huong-dan-...-mua-on-ap.html .
Backlink theo tôi là điều bắt buộc các bạn cần làm thường xuyên với web của mình, tôi có ví dụ thế này: web càng hiệu quả SEO thì back link càng nhiều, do vậy, khi bạn chưa đăng ký được 400 trang gồm diễn đàn và rao vặt, blog, webstore thì hãy tạm dừng mọi việc lại để ưu tiên vấn đề này hơn. Công cụ xem backlink của 1 website bạn có thể tham khảo tại trang http://www.backlinkwatch.com/ hoặc www.alexa.com
Ngoài ra, danh sách web dưới đây cho phép bạn tạo backlink (chất lượng cao) mà không cần phải đký:
- http://www.statbrain.com/
- http://whois.domaintools.com/
- http://www.whoisya.com
- http://www.robtex.com/dns
- http://www.aboutus.org
- http://websiteshadow.com
- http://web.archive.org
- http://www.submitexpress.com
- http://www.cubestat.com
Một nguồn backlink chất lượng cao khác là blog (và webstore), hãy tạo thật nhiều blog cũng như comment (không spam) tới các blog có nội dung liên quan tới web của bạn, danh sách các web bạn có thể tạo blog (webstore) free:
- http://blogspot.com/
- http://www.createfreeblogs.com
- http://marofin.com/
- http://blog.co.uk/
- http://bravejournal.com/
- http://vn.myblog.yahoo.com
- http://itrademarket.com/
- http://www.createblog.com
- http://mynewblog.com/
- http://yobanbe.zing.vn
- http://sosblog.com
- http://xanga.com/
- http://wordpress.com
- http://www.myspace.com
- http://twitter.com/
- http://www.tamtay.vn
- http://vnvista.com/forums
- http://www.cyworld.vn/myhome
- http://www.webgarden.com/
- www.live.com
- http://sky.vn/
- http://www.livejournal.com/
- http://phununet.com/

-------
Cuối cùng, kết quả search Google mà tôi đạt được với trang onap.vn như sau:
• ổn áp: Số 4 trang nhất.
• on ap lioa : số 4 trang nhất.
• on ap standa: số 2 trang nhất
• on ap 3 pha lioa: số 1 trang nhất
• Ngoài ra còn hàng trăm từ khoá nhỏ kiểu như: Lioa SH 2 kva, Lioa 5kva DRI, Lioa 10kva, Lioa 20kva…đều ở top 3 trang nhất.

Gần đây tôi có triển khai quảng bá web www.shopmevabe.vn chỉ sau 1,2 tháng đã có khá nhiều từ khoá quan trọng lên trang nhất Google như:
- Shop mẹ và bé : số 1 trang nhất.
- Xe tập đi gỗ: Top 10 Google
- xe đạp trẻ em": top 7 Google
- quan ao tre so sinh": Top 2 Google.
Đặc biệt, website bán đồ trẻ em: www.tit.vn với code chuẩn Google (url tối ưu, đầy đủ thẻ title...h1, h2, alt..., web siêu nhẹ), chỉ 1 tháng tôi đã có kết quả ngoài mong đợi:
- đồ trẻ em": top 10 Google.
- Xe đẩy em bé: top 7 Google.
- Nôi em bé: Top 6 Google.
- Xe đạp trẻ em: Top 6 Google
- Xe đẩy trẻ em: Top 10 Google.
- Xe tập đi: Top 11 Google (hơi kém)
- Ghế ăn bột: Top 7 Google
- cũi: Top 12 google
- Đai cho bé: Top 2 Google
- Đồ chơi gỗ: Top 11 Google.
- Ô tô đồ chơi: Top 6 Google
- Ghế ô tô cho bé: Top 2 Google
- ghế ngồi xe máy cho bé: Top 4 Google
- Thoi trang tre em: Top 15 Google (hơi kém)
- Quần áo trẻ em: chưa đc
- Đồ chơi trẻ em: chưa đc
- thú nhún: Top 5 Google

(Theo tôi, việc website tit.vn chỉ 1 tháng đã có hiệu quả nhanh như vậy có nguyên nhân chủ yếu từ mã nguồn viết web này rất phù hợp với thuật toán của Google)

Hy vọng với vốn kinh nghiệm thực tế trên đây tôi có được sẽ giúp các bạn quảng bá hiệu quả web của mình.
Trân trọng !

Định nghĩa Backlink? – Backlink là gì?

Back-link đơn thuần là một link từ site khác tới site của bạn. Tạo ra 1 back-link là công việc đơn giản nhưng bạn không chỉ cần 1 mà là hàng nghìn back-link và thêm nhiều link mới mỗi tháng. Tạo ra 1 back-link chỉ cần vài phút nhưng tạo ra hàng trăm hàng nghìn link mất rất nhiều thời gian và công sức.
Back-link là một phần tất yếu trong thế giới SEO. Nếu bạn muốn site của bạn đứng trong top của các công cụ tìm kiếm thì site của bạn phải có rank cao. Muốn có rank cao, bạn sẽ cần tạo rất rất nhiều back-link. Công việc này đòi hỏi rất nhiều thời gian và công sức nhưng kết quả thu được rất đáng giá với những gì bạn bỏ ra. Cứ mỗi giây Google nhận được 3,000 truy vấn search hay 180,000 mỗi phút. Nếu bạn muốn có mặt thậm chí là xếp cao trong danh sách kết quả tìm kiếm này, bạn cần phải chăm chỉ và khôn ngoan.
Back-link đơn thuần là một link từ site khác tới site của bạn. Tạo ra 1 back-link là công việc đơn giản nhưng bạn không chỉ cần 1 mà là hàng nghìn back-link và thêm nhiều link mới mỗi tháng. Tạo ra 1 back-link chỉ cần vài phút nhưng tạo ra hàng trăm hàng nghìn link mất rất nhiều thời gian và công sức.

Bạn cần bao nhiêu link?
Không bao giờ là đủ. Càng nhiều link càng tốt. Bạn cần tạo ra nhiều link hơn đối thủ có rank cao nhất trên Google. Nếu làm được điều đó, bạn sẽ là NUMBER ONE. Càng nhiều đối thủ cạnh tranh bạn cần có càng nhiều link để trở thành người dứng đầu. Hãy lập kế hoạch tạo nhiều link nhất có thể trong suốt sự nghiệp của bạn. Mỗi tháng các đối thủ add thêm rất nhiều link mới, nếu không muốn trở thành kẻ thua cuộc thì số lượng link của bạn phải không ngừng tăng lên.

Hãy cẩn thận khi đi “đường tắt”
Khi lướt web, bạn sẽ thấy có rất nhiều site quảng cáo dịch vụ “đường tắt” để tạo link. Họ hứa hẹn sẽ bán cho bạn hàng trăm link. Bạn cần nhiều link nhưng chất lượng link đóng vai trò rất quan trọng đối với sự thành công của bạn. Các site liên kết với bạn phải liên quan đến chủ đề site của bạn, nếu không các công cụ tìm kiếm sẽ bỏ qua các link đó. Nếu site liên kết với bạn mang nội dung spam hay văn hoá đồi truỵ, rank của bạn sẽ bị giảm trầm trọng chỉ vì “có liên quan đến nội dung xấu”. Mua back-link là một việc làm nguy hiểm. Chọn site và tự tạo liên kết là giải pháp hữu hiệu hơn rất nhiều!

Sử dụng bài viết để tạo link
Viết những bài chứa thông tin nhiều người quan tâm là một cách hay để tạo back-link. Bạn có thể post bài viết lên site của bạn và publish chúng trên các directory. Mỗi site publish bài viết của bạn sẽ tạo ra 1 back-link. Và bạn hoàn toàn có thể thuê ai đó hay một nguồn nào đó viết bài cho bạn.

Sử dụng video để tạo link
Một cách hay khác để tạo link là sử dụng các video clip. Bạn có thể tạo một video clip về cuộc sống thường ngày của bạn hay một cách kiếm tiền thú vị của riêng bạn. Hãy post các clip này lên site của bạn và publish chúng trên các video site như youtube.com, metacafe.com, viddler.com và các site khác. Công việc này sẽ đem đến cho bạn thứ hạng rất cao trên các công cụ tìm kiếm.

Sử dụng các mạng xã hội để tạo link
Mạng xã hội như Myspace là một cách hay để tạo ra các link chất lượng. Myspace là một trong những site có lượng khách truy cập lớn nhất trên web, vì thế link từ Myspce sẽ giúp cho site của bạn được nhiều người biết đến. Để tạo link từ các mạng xã hội này, bạn hãy tạo một account, link đến những người có cùng sở thích, comment cho họ kèm theo một đường link đến site của bạn.

Sử dụng Blog để tạo link
Các chủ blog đều mong muốn nhận được comment từ người đọc. Hãy ghé thăm các blog có cùng chủ đề với blog của bạn và các blog nổi tiếng khác, comment cho họ. Trong comment bạn không nên giới thiệu bản thân mà nên tham gia vào cuộc hội thoại. Ví dụ, nếu site của bạn có chủ đề về marketing và bạn thấy một blog liên quan đến chủ đề này, bạn nên để lại một comment như:”đây là một bài báo tuyệt vời với những quan điểm hay. Tôi cũng tìm thấy một số công cụ tuyệt vời tại www.site-của-bạn.com”. Một cách hiệu quả để tìm thấy các blog hay liên quan đến chủ đề của bạn là thiết lập một bộ cảnh báo của Google với tất cả các từ khoá liên quan đến chủ đề đó và bạn sẽ được thông báo bất cứ lúc nào có một bài viết liên quan đến các từ khoá này. Công việc chính của bạn là ghé thăm các blog và comment cho họ!

Nghe có vẻ chúng ta phải làm rất nhiều việc ???
Đúng là có rất nhiều việc nhưng hãy tự ám ảnh về con số 180000 hoạt động search mỗi phút. Nếu bạn không có thời gian để làm công việc này, có các công ty trên web sẵn sàng giúp đỡ bạn. Nếu nhờ họ bạn sẽ cần rất nhiều chi phí nhưng cũng “đáng đồng tiền bát gạo”, bạn có thể tiếp tục sự nghiệp chuyên ngành của mình trong khi các công ty tạo ra các link và đưa bạn lên vị trí đứng đầu.

Tìm hiểu về Google PageRank & Alexa Rank

- Google PageRank là gì:

* Google PageRank hiện là chỉ số đáng tin cậy chỉ giá trị của một trang web. Google đánh giá và xếp hạng các trang web bằng cả hai phương pháp tự động và thủ công dựa trên hơn 100 chỉ số chính với những thuật toán xuất sắc.
* Một vài chỉ số quan trọng quyết định Google PageRank của một trang web: độ hữu dụng của thông tin trên trang web, độ phổ biến của trang web, chất lượng kỹ thuật,...
* Google PageRank được chia làm 10 bậc và được biểu hiện bằng vạch màu xanh trên nền trắng: Google PageRank image. Giá trị của mỗi trang web theo Google PageRank tăng dần từ 1 đến 10.
* Thuật ngữ PageRank™ là một thương hiệu được bảo hộ của Google, do Larry Page và Sergey Brin phát triển tại trường đại học Stanford của Mỹ trong một dự án nghiên cứu về công cụ tìm kiếm năm 1995. >>xem thêm

- Google PageRank mang lại những lợi ích gì?

* Google PageRank hiện nay được coi là chỉ số đáng tin cậy đánh giá mức độ quan trọng mỗi trang web. Một trang web có chỉ số Google PageRank cao sẽ đem lại ấn tượng đáng tin cậy cho khách truy cập, điều này đặc biệt có ý nghĩa với các website kinh doanh thương mại điện tử.
* Google PageRank ảnh hưởng trực tiếp tới vị trí hiển thị của mỗi trang web khi cạnh tranh thứ hạng hiển thị trong danh sách kết quả tìm kiếm của Google. Một trang web có PageRank cao dễ xuất hiện trên đầu danh sách kết quả tìm kiếm của Google hơn. Nếu bạn muốn nâng cao Google PageRank cho các trang web trong website của bạn, bạn có thể
* Google PageRank là một công cụ hỗ trợ các webmaster quản trị website.

- Làm thế nào để xem Google PageRank của một trang web?

* Bạn có thể sử dụng Google Toolbar – thanh công cụ hỗ trợ người dùng duyệt web: >>tải Google Toolbar
* Hoặc bạn có thể kiểm tra Google PageRank trực tuyến tại các máy chủ của Google:

- Làm thế nào để tăng Google PageRank?

* Về cơ bản, theo các chuyên gia của Google: "Không được sử dụng các phương pháp giả tạo, hãy tạo ra các trang web cho mọi người chứ không phải cho các công cụ tìm kiếm"
* Tăng thứ hạng trong danh sách kết quả tìm kiếm của Google là phương pháp tăng PageRank rất hiệu quả vì vừa tăng độ phổ biến các trang web của bạn, vừa tăng lượng khách truy cập.
* Cấu trúc website, cấp bậc cần rõ ràng, nội dung thông tin cần phong phú, hữu ích.
* Website không được chứa các liên kết lỗi, các lỗi HTML, lỗi câu lệnh.
* Đăng ký website vào các danh bạ uy tín cũng như các website chất lượng khác để tăng độ phổ biến.

- Alexa Rank là gì?

* Alexa Rank là thước đo mức độ phổ biến của các website. Chỉ số thứ hạng của mỗi website được Alexa kết hợp đánh giá từ 2 yếu tố là số trang web người dùng xem (Page Views) và số người truy cập website (Reach).
* Các số liệu thống kê của Alexa dựa trên những dữ liệu thu thập từ người dùng cài đặt Alexa Toolbar. Cứ 3 tháng 1 lần, Alexa tiến hành tổng kết số liệu và xếp hạng các website. >>xem thêm
* Alexa Toolbar là một tiện ích giúp người dùng lướt web, hiện có khoảng hơn 10 triệu người dùng Internet trên thế giới sử dụng công cụ này.

- Tăng thứ hạng Alexa mang lại những lợi ích gì?

* Chỉ số thứ hạng Alexa của một website cao được hiểu là website đó có đông người truy cập, phần nào đem lại cho website ấn tượng sống động và uy tín.
* Trong thị trường quảng cáo trực tuyến, Alexa Rank có thể được sử dụng để đánh giá giá trị quảng cáo.
* Chỉ số Alexa rank là thước đo ghi nhận thành quả lao động của các webmaster với cộng đồng và là một công cụ rất hữu ích giúp các webmaster quản trị website hiệu quả.

- Làm thế nào để xem thứ hạng Alexa?

* Bạn có thể sử dụng Alexa Toolbar – thanh công cụ hỗ trợ người dùng duyệt web: >>tải Alexa Toolbar
* Kiểm tra trực tuyến:

- Làm thế nào để tăng thứ hạng Alexa cho website?

* Bạn nên tiến hành các chiến dịch quảng bá website định kỳ nhằm thường xuyên thu hút khách truy cập website, tăng cao chỉ số Reach.
* Trong website, nên có các phần thông tin có giá trị cao, cập nhật để thu hút khách hàng thường xuyên quay lại website, tăng Page views.
* Bạn cần bố trí nội dung, cấu trúc website sao cho thu nhận được thật nhiều cú nhấp chuột của khách truy cập để tăng Page views nhưng vẫn mang lại cảm giác thoải mái, tiện lợi.

Changes involving global variables Usage in Joomla 1.0 Usage in Joomla 1.5


File system path to the site

global $mosConfig_abosolute_path;
$path = $mosConfig_abosolute_path.'/file.php';



$path = JPATH_SITE.DS.'file.php';

File system path to adminstrator

global $mosConfig_abosolute_path;
$path = $mosConfig_abosolute_path.'/administrator/file.php';



$path = JPATH_ADMINISTRATOR.DS.'file.php';

File system path to the current component
N/A

$path = JPATH_COMPONENT.DS.'file.php';

URL to the site
global $mosConfig_live_site; $url = JUri::base(true);
The application object
global $mainframe; $app = &JFactory::getApplication();
$path = $mainframe->getBasePath(0);
$path = $mainframe->getBasePath('site');
$path = $mainframe->getBasePath('front'); $path = JPATH_SITE.DS;
$path = $mainframe->getBasePath(2);
$path = $mainframe->getBasePath('installation');
$path = JPATH_INSTALLATION.DS;
$path = $mainframe->getBasePath(1);
$path = $mainframe->getBasePath('admin');
$path = $mainframe->getBasePath('administrator'); $path = JPATH_ADMINISTRATOR.DS;
$mainframe->setPageTitle($title);

$document=& JFactory::getDocument();
$document->setTitle($title);

$mainframe->getPageTitle();

$document=& JFactory::getDocument();
$title = $document->getTitle();

Accessing configuration file variables
global $mosConfig_list_limit;

$app = &JFactory::getApplication();
$limit = $app->getCfg('list_limit');

global $mosConfig_offset_user;


$user = &JFactory::getUser();
$userOffset = $user->getParam('timezone');

global $mosConfig_debug;

if ($mosConfig_debug) // ...



if (JDEBUG) // ...

// or

$app = &JFactory::getApplication();
if ($app->getCfg('debug')) // ...

Getting the option or component name
global $option; $option = JRequest::getCmd('option');
Getting the current user object
global $my; $user = &JFactory::getUser();
Getting the database object
global $database; $db = &JFactory::getDbo();


General API and function changes Usage in Joomla 1.0 Usage in Joomla 1.5
Direct access check
defined('_VALID_MOS') or die; defined('_JEXEC') or die;
Translating text
<?php echo _COMMENTS_TITLE;?> <?php echo JText::_('Comments_Title');?>
Accessing request variables
$cid = mosGetParam($_REQUEST, 'cid', array()); $cid = JRequest::getVar('cid', array());
$ints = josGetArrayInts($name, $type);

$ints = JRequest::getVar($name, array(), 'method', 'array');
JArrayHelper::toInteger($ints);

Parameters
$params = new mosParameters($ini); $params = new JParameter($ini);
Getting component parameters

$comp = new mosComponent($database);
$comp->load($foobar_id);
$params = new mosParameters($comp->params);



$params = JComponentHelper::getParams('com_foobar');

Bind data to objects
mosBindArrayToObject($array, &$obj, $ignore, $prefix, $checkSlashes);

// Providing object is derived from JTable
$object->bind($array, $ignore);

Hash a string
$value = mosHash($seed); $value = JUtility::getHash($seed);
Bounce an unauthorised user
mosNotAuth(); JError::raiseError('401', JText::_('ALERTNOTAUTH'));
Display an error popup
mosErrorAlert($text, $action, $mode); No direct replacement. Recommend raising a notice using JError::raiseNotice or a warning using JError::raiseWarning and redirecting the page.
Clean a file system path
mosPathName($p_path, $p_addtrailingslash);

jimport('joomla.filesystem.path');
$path = JPath::clean($p_path);
// Handle trailing slash manually

Sending mails
mosMail($from, $fromname, $recipient, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname )
JUtility::sendMail($from, $fromname, $recipient, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname );
mosSendAdminMail($adminName, $adminEmail, $email, $type, $title, $author); JUtility::sendAdminMail($adminName, $adminEmail, $email, $type, $title, $author)
Making a password
$pwd = mosMakePassword();

jimport('joomla.user.helper');
$pwd = JUserHelper::genRandomPassword();

Redirecting to a new page
mosRedirect($url, $msg);

$app = &JFactory::getApplication();
$app->redirect($url, $msg);

Managing folders
$result = mosMakePath($base, $path, $mode);

jimport('joomla.filesystem.folder');
$result = JFolder::create($base.$path, $mode == null ? 0755 : $mode);

$result = deldir($path);

jimport('joomla.filesystem.folder');
$result = JFolder::delete($path);

Converting an array to integers
mosArrayToInts($array, $default); JArrayHelper::toInteger($array, $default);
File permissions
$result = mosChmod($path);

jimport('joomla.filesystem.path');
$result = JPath::setPermissions($path);

$result = mosChmodRecursive($path, $filemode, $dirmode);

jimport('joomla.filesystem.path');
$result = JPath::setPermissions($path, $filemode, $dirmode);

$result = mosIsChmodable($file);

jimport('joomla.filesystem.path');
$result = JPath::canChmod($file);

Getting browser information
$browser = mosGetBrowser($agent);

jimport('joomla.environment.browser');
$browser = &JBrowser::getInstance();

$os = mosGetOS($agent);

jimport('joomla.environment.browser');
$browser = &JBrowser::getInstance();
$os = $instance->getPlatform();

Displaying an ordering select list
mosGetOrderingList($sql, $chop) JHTML::_('list.genericordering', $sql, $chop)
Parsing INI formatted strings
$params = mosParseParams($txt)

$registry = new JRegistry();
$registry->loadINI($txt);
$params = $registry->toObject();
// or
$params = new JParameter($txt);

Using Editors
initEditor();

$editor = &JFactory::getEditor();
echo $editor->initialise();

getEditorContents($editorArea, $hiddenField);

jimport('joomla.html.editor');
$editor = &JFactory::getEditor();
echo $editor->save($hiddenField);

editorArea($name, $content, $hiddenField, $width, $height, $col, $row);

jimport( 'joomla.html.editor' );
$editor = &JFactory::getEditor();
echo $editor->display($hiddenField, $content, $width, $height, $col, $row);

Menu based authorisation
$allowed = mosMenuCheck($Itemid, $menu_option, $task, $gid);

$user =& JFactory::getUser();
$menus =& JSite::getMenu();
$allowed = $menus->authorize($Itemid, $user->get('aid'));

Converting an object to an array
$array = mosObjectToArray($p_obj, $recurse, $regex); $array = JArrayHelper::fromObject($p_obj, $recurse, $regex);
Date functions
echo mosFormatDate($date, $format, $offset); echo JHTML::_('date', $date, $format ? $format : JText::_('DATE_FORMAT_LC1'), $offset);
echo mosCurrentDate($format); echo JHTML::_('date', 'now', $format ? $format : JText::_('DATE_FORMAT_LC1'));
Preparing an variables for safe output
mosMakeHtmlSafe($row, $quote_style, $exclude_keys); JFilterOutput::o:bjectHTMLSafe($row, $quote_style, $exclude_keys);
<?php echo ampReplace($text);?> <?php echo JFilterOutput::ampReplace($text);?>
Sorting an array of objects
SortArrayObjects($array, $k, $sort_direction); JArrayHelper::sortObjects($array, $k, $sort_direction);
CSRF (spoof) checking
josSpoofValue($alt);

Place the following code before the end of your form:

<?php echo JHtml::_('form.token'); ?>
josSpoofCheck($header, $alternate); JRequest::checkToken() or die(JText::_('Invalid Token'));
Load javascript tooltip support
loadOverlib(); JHTML::_('behavior.tooltip');
mosToolTip($tooltip, $title, $width, $image, $text, $href, $link); JHTML::_('tooltip', $tooltip, $title, $image, $text, $href, $link)
<?php echo mosWarning($warning, $title);?> <?php echo JHTML::tooltip($warning, $title, 'warning.png', null, null, null);?>
Routing URLs
<?php echo sefRelToAbs($link);?> <?php echo JRoute::_($link);?>
Traversing tree data
mosTreeRecurse($id, $indent, $list, $children, $maxlevel, $level, $type); JHTML::_('menu.treerecurse', $id, $indent, $list, $children, $maxlevel, $level, $type)
Functions without direct replacements
mosBackTrace($message);
mosCreateMail($from, $fromname, $subject, $body);
mosShowSource($filename, $withLineNums);
mosLoadComponent($name); Handled by JDocument.

initGzip();
doGzip();
Only ever used at the application level. Doesn't affect extensions.


Changes involving the database Usage in Joomla 1.0 Usage in Joomla 1.5
Database table classes

class MyTable extends mosDBTable {
// lots of variables defined
function MyTable(&$db) {
$this->mosDBTable('#__table_name', 'id', $db);
}
}



class MyTable extends JTable {
// lots of variables defined
function __construct(&$db) {
parent::__construct('#__table_name', 'id', $db);
}
}

Limits in database queries

$sql = 'SELECT *'
. ' FROM #__table_name'
. ' LIMIT 10, 20';
$database->setQuery($sql);



$db = &JFactory::getDbo();
$db->setQuery(
'SELECT *'
.' FROM #__table_name'
.' LIMIT 10, 20',
10, 20
);

Loading an object from the database
$db->loadObject($object); $object = $db->loadObject();


Changes to components Usage in Joomla 1.0 Usage in Joomla 1.5
Getting a predefined path
$mainframe->getPath('admin_html'); JApplicationHelper::getPath('admin_html');
Getting component parameters

$comp = new mosComponent($database);
$comp->load($foobar_id);
$params = new mosParameters($comp->params);



$params = JComponentHelper::getParams('com_foobar');


Changes to the Administrator menus helper Usage in Joomla 1.0 Usage in Joomla 1.5
Display an ordering select list
mosAdminMenus::Ordering($row, $id)
JHTML::_('menu.ordering', $row, $id)
Display an access level select list
mosAdminMenus::Access($row) JHTML::_('list.accesslevel', $row)
Display a published state select list
mosAdminMenus:P:ublished($row) JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $row->published)
Display a multi-select menu list
mosAdminMenus::MenuLinks($lookup, $all, $none, $unassigned) JHTML::_('select.genericlist', $options, 'selections[]', 'class="inputbox" size="15" multiple="multiple"', 'value', 'text', $lookup, 'selections' )
Display a category select list
mosAdminMenus::Category($menu, $id, $javascript) No direct replacement
Display a section select list
mosAdminMenus::Section($menu, $id, $all) No direct replacement
Display a component select list
mosAdminMenus::Component($menu, $id) No direct replacement
Get the name of a component
mosAdminMenus::ComponentName($menu, $id) No direct replacement
Display a select list of images
mosAdminMenus::Images($name, $active, $javascript, $directory) JHTML::_('list.images', $name, $active, $javascript, $directory)
Display a select list of ordering values
mosAdminMenus::SpecificOrdering($row, $id, $query, $neworder) JHTML::_('list.specificordering', $row, $id, $query, $neworder)
Display a select list of users
mosAdminMenus::UserSelect( $name, $active, $nouser, $javascript, $order, $reg) JHTML::_('list.users', $name, $active, $nouser, $javascript, $order, $reg);
Display a select list of alignment positions
mosAdminMenus:P:ositions($name, $active, $javascript, $none, $center, $left, $right, $id) JHTML::_('list.positions', $name, $active, $javascript, $none, $center, $left, $right, $id)
Display a select list of component categories
mosAdminMenus::ComponentCategory($name, $section, $active, $javascript, $order, $size, $sel_cat) JHTML::_('list.category', $name, $section, $active, $javascript, $order, $size, $sel_cat)
Display a select list of sections
mosAdminMenus::SelectSection($name, $active, $javascript, $order) JHTML::_('list.section', $name, $active, $javascript, $order)
Display a select list of menu items of a given type
mosAdminMenus::Links2Menu($type, $and) No direct replacement
Display a select list of menu items
mosAdminMenus::MenuSelect($name, $javascript) No direct replacement
Return a named array (by folder) of images in folders
mosAdminMenus::ReadImages($imagePath, $folderPath, $folders, $images) No direct replacement
Display a special select list of image folders
mosAdminMenus::GetImageFolders($folders, $path) No direct replacement
Display a special select list of images with preview behaviours
mosAdminMenus::GetImages($images, $path) No direct replacement
Display a special select list of images with preview behaviours
mosAdminMenus::GetSavedImages($row, $path) No direct replacement
Display a frontend image checking for a template override
mosAdminMenus::ImageCheck($file, $directory, $param, $param_directory=, $alt, $name, $type, $align) JHTML::_('image.site', $file, $directory, $param, $param_directory, $alt, array('align' => $align), $type)
Display a backend image checking for a template override
mosAdminMenus::ImageCheckAdmin($file, $directory, $param, $param_directory, $alt, $name, $type, $align) JHTML::_('image.administrator', $file, $directory, $param, $param_directory, $alt, array('align' => $align), $type)
Deprecated method
mosAdminMenus::menutypes() No longer used
Deprecated method
mosAdminMenus::menuItem($item) No longer used


Changes to the cache API Usage in Joomla 1.0 Usage in Joomla 1.5
Get the cache for a group
$cache = mosCache::getCache($group); return JFactory::getCache($group);
Clean the cache for a group
mosCache::cleanCache($group)

$cache =& JFactory::getCache($group);
$cache->clean($group);


Changes to miscellaneous classes Usage in Joomla 1.0 Usage in Joomla 1.5
class MyClass extends mosAbstractTasker class MyController extends JController
$object = new mosEmpty; $object = new JObject;
MENU_Default::MENU_Default();

JToolBarHelper:p:ublishList();
JToolBarHelper::unpublishList();
JToolBarHelper::addNew();
JToolBarHelper::editList();
JToolBarHelper::deleteList();
JToolBarHelper::spacer();

$tabs = new mosTabs($useCookies); $pane = new JPaneTabs(array('useCookies' => $useCookies));


Changes to HTML helper classes Usage in Joomla 1.0 Usage in Joomla 1.5
mosCommonHTML::ContentLegend() No direct replacement.
mosCommonHTML::menuLinksContent($menus) No direct replacement.
mosCommonHTML::menuLinksSecCat($menus) No direct replacement.
Display a checkbox or checkout icon
mosCommonHTML::checkedOut($row, $overlib)

jimport('joomla.html.html.grid');
echo JHTML::_('grid.checkedOut',$row, $overlib);

mosCommonHTML::CheckedOutProcessing($row, $i)

jimport('joomla.html.html.grid');
echo JHTML::_('grid.checkedout', $row, $i);

Load javascript tooltip support
mosCommonHTML::loadOverlib(); JHTML::_('behavior.tooltip');
Load javascript calendar support
mosCommonHTML::loadCalendar(); JHTML::_('behavior.calendar');
Display a link that cycles through the access levels
mosCommonHTML::AccessProcessing($row, $i, $archived) JHTML::_('grid.access', $row, $i, $archived);
Display a published state icon
mosCommonHTML:P:ublishedProcessing($row, $i, $imgY, $imgX) JHTML::_('grid.published',$row, $i, $imgY, $imgX)
Display a published state icon with toggle
mosCommonHTML::selectState($filter_state, $published, $unpublished, $archived) JHTML::_('grid.state', $filter_state, $published, $unpublished, $archived)
Display a save order button
mosCommonHTML::saveorderButton($rows, $image); echo JHTML::_('grid.order', $rows, $image)
Display the ordering icon in a column heading
mosCommonHTML::tableOrdering($text, $ordering, $lists, $task); echo JHTML::_('grid.sort', $text, $ordering, @$lists['order_Dir'], @$lists['order'], $task);
Display a back button
<?php mosHTML::BackButton ($params, $hide_js);?> No direct replacement.
Clean and prepare text for output
<?php echo mosHTML::cleanText ($text);?> <?php echo JFilterOutput::cleanText($text);?>
Displaying a print button
<?php mosHTML:P:rintIcon($row, &$params, $hide_js, $link, $status);?> No direct replacement.
Cloak an email
<?php echo mosHTML::emailCloaking($mail, $mailto, $text, $email);?> <?php echo JHTML::_('email.cloak', $mail, $mailto, $text, $email);?>
Load support to keep the page alive (avoiding session time-outs)
<?php mosHTML::keepAlive();?> <?php echo JHTML::_('behavior.keepalive');?>


Working with the menubar and toolbars Usage in Joomla 1.0 Usage in Joomla 1.5
mosMenuBar::startTable();
mosToolbar::startTable();
No longer used.
mosMenuBar::endTable();
mosToolbar::endTable();
No longer used.
mosMenuBar::addNew();
mosMenuBar::addNewX();
JToolbarHelper::addNew('new', 'New');
mosMenuBar::saveedit();

JToolbarHelper::save('saveedit');
mosToolbar JToolbarHelper


Changes to the core database table classes Usage in Joomla 1.0 Usage in Joomla 1.5
mosCategory JTableCategory
mosContent JTableContent
mosComponent JTableComponent
mosMambot JTablePlugin
mosMambotHandler JDispatcher
mosMenu JTableMenu
mosModule JTableModule
mosSection JTableSection
mosSession JTableSession
mosUser JTableUser
Updating the order of items
$result = $row->updateOrder($where); $result = $row->reorder($where);
Publishing a list of items
$result = $row->publish_array($cid, $publish, $user_id) $result = $row->publish($cid, $publish, $user_id);


Working with plugins Usage in Joomla 1.0 Usage in Joomla 1.5
mosMambotHandler::loadBotGroup($group); JPluginHelper::importPlugin($group, null, false);
mosMambotHandler::loadBot($folder, $element, $published, $params); JPluginHelper::importPlugin($folder, $element);
mosMambotHandler::registerFunction( $event, $function ) JApplication::registerEvent( $event, $function );
mosMambotHandler::call($event);

$dispatcher =& JDispatcher::getInstance();
$result = $dispatcher->trigger($event, $arguments);




File formats Usage in Joomla 1.0 Usage in Joomla 1.5
Translation files
/language/english.php /language/en-GB/en-GB.ini
/language/en-GB/en-GB.com_content.ini
/language/en-GB/en-GB.mod_latest_news.ini
/language/en-GB/en-GB.plg_content_code.ini

<?php
// Files saved as PHP files
define('_COMMENTS_TITLE', 'Title');
define('_COMMENTS_GUEST_TO_POST', 'Allow guests to post');



# Files must be saved as UTF-8 in INI format
COMMENTS_TITLE=Title
COMMENTS_GUEST_TO_POST=Allow guests to post

Cách sử dụng 1 số JHTML thông dụng


Tạo combobox

JHTML::_(’select.genericlist’,$arr, $name, ‘class=”inputbox” ‘.$javascript, ‘value’, ‘text’,$val);

các tham số:
$arr: mảng dữ liệu, chú ý mỗi phần tử lại là 1 mảng array(’value’ => ‘foo’, ‘text’ => “bar”);
$name: tên combobox.
$javascript: javascript sẽ thực thi khi click vào combobox.
$val: giá trị mặc định của combobox.

Tạo checkbox

JHTML::_(’grid.id’, $id,$val )
Tham số:

$id: id của checkbox (khi hiển thị sẽ là cb.$id ex: cb1,cb2)
$val: giá trị của checkbox.
Checkbox tạo ra có tên là cid[]

Điều hướng phân trang.
Đầu tiên import thư viện cần sử dụng.

jimport(’joomla.html.pagination’);
Khởi tạo đối tượng điều hướng.
$nav = new JPagination($total, $limitstart,$limit);
Tham số:

$total: ttổng số dòng dữ liệu.
$limitstart: record bắt đầu.
$limit: số record cần lấy.
sử dụng:

echo $nav->getListFooter();
chú ý khi sử dụng phải đặt dòng trên trong form có tên là adminForm.

Tạo pane
có 2 loại TabPane và SlidersPane.
Tạo TabPane chỉ cần khởi tạo đối tượng
$pane=&JPane::getInstance();
hoặc $pane=&JPane::getInstance(’Tabs’);
Tạo SlidersPane chỉ cần khởi tạo đối tượng
$pane=&JPane::getInstance(’sliders’);
Tạo khung pane echo $pane->startpane($id);
$id : id của pane.
chú ý chúng ta mới tạo đựơc khung pane, chúng ta tiếp tục tạo panel.

echo $pane->startpanel($title,$id);
$title: tiêu đề – tên phanel
$id: id của panel.
kết thúc panel :
echo $pane->endPanel();
kết thúc pane:

echo $pane->endPane();
Nội dung đặt giữa startpanel() và endPanel().

ví dụ đơn giản về pane: Tạo Tabpane có 3 panel.

$pane=&JPane::getInstance();
echo $pane->startpane(’Pane-1′);
echo $pane->startpanel(’panel 1′,’Pane1′);
echo”exam panel 1111111111″;
echo $pane->endPanel();
echo $pane->startpanel(’panel 2′,’Pane2′);
echo”exam panel 222222″;
echo $pane->endPanel();
echo $pane->startpanel(’panel 3′,’Pane2′);
echo”exam panel 333333″;
echo $pane->endPane();

JArchive in joomla 1.5

I have problem when ussage JArchive in joomla 1.5 .

Joomla



What is Joomla?

Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone.

What's a content management system (CMS)?

A content management system is software that keeps track of every piece of content on your Web site, much like your local public library keeps track of books and stores them. Content can be simple text, photos, music, video, documents, or just about anything you can think of. A major advantage of using a CMS is that it requires almost no technical skill or knowledge to manage. Since the CMS manages all your content, you don't have to.

What are some real world examples of what Joomla! can do?

Joomla is used all over the world to power Web sites of all shapes and sizes. For example:

* Corporate Web sites or portals
* Corporate intranets and extranets
* Online magazines, newspapers, and publications
* E-commerce and online reservations
* Government applications
* Small business Web sites
* Non-profit and organizational Web sites
* Community-based portals
* School and church Web sites
* Personal or family homepages


Who uses Joomla?
MTV Quizilla

Here are just a few examples of Web sites that use Joomla:

* MTV Networks Quizilla (Social networking) - http://www.quizilla.com
* IHOP (Restaurant chain) - http://www.ihop.com
* Harvard University (Educational) - http://gsas.harvard.edu
* Citibank (Financial institution intranet) - Not publicly accessible
* The Green Maven (Eco-resources) - http://www.greenmaven.com
* Outdoor Photographer (Magazine) - http://www.outdoorphotographer.com
* PlayShakespeare.com (Cultural) - http://www.playshakespeare.com
* Senso Interiors (Furniture design) - http://www.sensointeriors.co.za

More examples of companies using Joomla can be found in the Joomla Community Site Showcase.

I need to build a site for a client. How will Joomla! help me?
Simple Admin interface

Joomla is designed to be easy to install and set up even if you're not an advanced user. Many Web hosting services offer a single-click install, getting your new site up and running in just a few minutes.

Since Joomla is so easy to use, as a Web designer or developer, you can quickly build sites for your clients. Then, with a minimal amount of instruction, you can empower your clients to easily manage their own sites themselves.

If your clients need specialized functionality, Joomla is highly extensible and thousands of extensions (most for free under the GPL license) are available in the Joomla Extensions Directory.

How can I be sure there will be Joomla! support in the future?
Winner - Best CMS

Joomla is the most popular open source CMS currently available as evidenced by a vibrant and growing community of friendly users and talented developers. Joomla's roots go back to 2000 and, with over 200,000 community users and contributors, the future looks bright for the award-winning Joomla Project.

I'm a developer. What are some advanced ways I can use Joomla?
MVC Diagram

Many companies and organizations have requirements that go beyond what is available in the basic Joomla package. In those cases, Joomla's powerful application framework makes it easy for developers to create sophisticated add-ons that extend the power of Joomla into virtually unlimited directions.

The core Joomla framework enables developers to quickly and easily build:

* Inventory control systems
* Data reporting tools
* Application bridges
* Custom product catalogs
* Integrated e-commerce systems
* Complex business directories
* Reservation systems
* Communication tools

Since Joomla is based on PHP and MySQL, you're building powerful applications on an open platform anyone can use, share, and support. To find out more information on leveraging the Joomla framework, visit the Joomla Developer Network.

Joomla! seems the right solution for me. How do I get started?
Download or Test Drive

Joomla is free, open, and available to anyone under the GPL license. Read Getting Started with Joomla to find out the basics then try out our online demo and you'll quickly discover how simple Joomla is. If you're ready to install Joomla, download the latest version here you'll be up and running in no time.