• Hiện tại trang web đang trong quá hình chuyển đổi và tái cấu trúc lại chuyên mục nên có thể một vài chức năng chưa hoàn thiện, một số bài viết và chuyên mục sẽ thay đổi. Nếu sự thay đổi này làm bạn phiền lòng, mong bạn thông cảm. Chúng tôi luôn hoan nghênh mọi ý kiến đóng góp để chúng tôi hoàn thiện và phát triển. Cảm ơn

CHUYÊN ĐỀ: YÊU CẦU, THẢO LUẬN TEMPLATE SPB INSIGHT

Kan

New Member
Spb Insight là phần mềm đọc tin tức rất được yêu thích bởi tính năng đọc toàn bộ nội dung tin cũng như hỗ trợ các trang không có RSS, thông qua các mẫu xử lý (template).

Các template đã có trên Pdaviet được giới thiệu tại
THƯ VIỆN TEMPLATE SPB INSIGHT (hiện có hàng trăm template đủ các thể loại: thể thao, chính trị - xã hội, tỷ giá ngoại tệ, chứng khoán, thời tiết, ...).

Cách tạo template giới thiệu tại bài số 2, 3, 4 và đây.

Cách sử dụng template:
* Tạo thư mục Templates trong thư mục đã cài Spb Insight (ví dụ: \Programs Files\Spb Insight\Templates
* Copy các template (thực chất là các file *.XML) vào thư mục Template nêu trên.
* Kết nối PPC với PC có Internet thông qua ActiveSync hoặc dùng WiFi để kết nối Internet.
* Mở Spb Insight, vào Tạo => Các mẫu có trên PPC (mục phía dưới cùng) rồi chọn các kênh tin (channel) cần xem.

Topic này dành để yêu cầu, thảo luận cách sử dụng cũng như trao đổi kinh nghiệm về cách tạo template cho Spb Insight.
 
Last edited by a moderator:

Kan

New Member
Nhu cầu đọc toàn bộ nội dung tin tức thay vì 1 mẩu RSS con con khiến nhiều bạn muốn viết template site yêu thích cho riêng mình với thiết kế tùy ý.
Trước hết phải khẳng định viết template kô khó, kô đòi hỏi bạn là dân lập trình hay hiểu biết về web, chỉ cần bạn chịu khó "đọc kĩ hướng dẫn sử dụng" của Spb dưới đây và xem các template khác coi như làm mẫu b-)

1. Spb Insight Developer Documentation
2. Creating templates Part 1. RSS-based channels.
3. Creating templates. Part 2. If no RSS available.

Có thể hiểu template là 1 mẫu xử lý bao gồm các dòng lệnh, "hướng dẫn" cho Spb Insight:
- Tìm đến link tin mới.
- Lấy các phần cần thiết trong nội dung tin.

Về cấu trúc có thể chia thành 3 phần:

1. Phần 1 (khai báo):
Mã:
[SIZE="3"]<?xml version="1.0"?>
<template version="1.0">
      <channel>
          <name>VnExpress - Trang nhất</name>
          <url>http://vnexpress.net/Vietnam/Home/</url>
      </channel>[/SIZE]

- Đoạn đầu chứa các thông tin về template (như version, tên, tác giả...). Những thông tin này sẽ kô hiển thị trên Spb Insight :)
- Đoạn thứ 2 là thông tin về kênh tin tức bao gồm tên và đường link.

2. Phần 2 (lấy đường link đến tin mới):
Mã:
[SIZE="3"] <parse_channel> <![CDATA[

           ...

 ]]> </parse_channel>[/SIZE]
- Đoạn này sẽ "hướng dẫn" Spb Insight tìm đường link đến các tin mới.

3. Phần 3 (xử lí nội dung):
Mã:
 [SIZE="3"]<parse_article> <![CDATA[

           ...

 ]]> </parse_article> [/SIZE]

- Phần này chỉ cho Spb Insight lấy những đoạn cần thiết trong toàn bộ nội dung tin.

Chú ý: với trường hợp chỉ muốn lấy 1 phần nào đó của kênh tin tức (ví dụ như lấy thời tiết ở trung tâm dự báo khí tượng, lấy bảng chứng khoán ở VnExpress...), kô cần các link đến tin mới thì có thể bỏ phần 3 và xử lý nội dung ngay ở phần 2!
 

Kan

New Member
Để test template (mất khá nhiều thời gian), bạn có thể dùng cách sau:

1. Cài PPC ảo:

- Ưu điểm là ta có thể edit template trực tiếp trên StorageCard của PPC ảo cũng như mở xem file log. Rất tiện cho mỗi lần test.

2. Đặt chế độ Developer Mode:

- Trong Spb Insight, vào Option, gõ Ctrl-D, tick vào dòng "Developer Mode" mới xuất hiện:

developermode.jpg

- Khi chọn chế độ này, mỗi lần test template mới, thay vì phải xóa kênh tin tức->chọn lại->update lại, bạn chỉ cần 1 thao tác: giữ bút ở kênh tin tức, chọn Clean Update là OK.

cleanupdate.png

- Ở chế độ này trong thư mục SpbInsight trên PPC sẽ xuất hiện file insight_log.txt ghi lại toàn bộ diễn biến của việc update, đồng thời thông báo lỗi nếu có.

Để phân tích cấu trúc web:

dominspector.jpg

Sử dụng công cụ Dom Inspector (tích hợp sẵn trên FireFox2.0). Khi di chuột vào 1 bảng, hay 1 đoạn nào đó, trên trang web sẽ nhấp nháy khung đỏ.
 

Kan

New Member
Khi đã chuẩn bị xong các bước trên, hãy bắt đầu viết template cho trang tin tức nổi tiếng nhất VN: VnExpress.

Hiện nay VnExpress đã hỗ trợ RSS, trước tiên ta hãy viết template lấy nguồn tin RSS này.

Mở NotePad và edit:

1. Khai báo:
Mã:
[SIZE="3"]<?xml version="1.0"?>
<template version="1.0" name="VnExpressrss" author="PDAVIET.NET" date="04/01/2007">
<channel type="RSS">
<name>VnExpress - Thế giới</name>
<url>http://vnexpress.net/rss/the-gioi.rss</url>
</channel>[/SIZE]

- Ở đây ta chỉ "lấy ví dụ" Thế giới thôi, những mục khác (Xã hội, Thể thao...) bạn có thể thêm vào ngay sau đó.

2. Lấy link đến tin mới:

- Ta sẽ bỏ qua phần này vì khi khai báo kiểu kênh tin tức là RRS, thì Spb Insight sẽ tự nhận biết các đường link đến tin mới.

3. Lấy nội dung:
Mã:
[SIZE="3"]var d = new Document(article.url);[/SIZE]
(tải nội dung HTML của tin)

Mở Dom Inspector, "lần mò" dần đến bảng chứa nội dung tin:

dom1.jpg

Ta thấy phần nội dung chính của tin nằm trong bảng (Table) có thuộc tính Id = CContainer. Hãy cho bảng này vào "thân bài":

Mã:
[SIZE="3"]var nodeBody = d.getElementsByAttr("Table", "Id", "CContainer")[0];
article.body = nodeBody.outerHTML;[/SIZE]

- Chỉ số 0 vì đây là bảng đầu tiên có thuộc tính id = ccontainer (tính từ 0,1,2..).

Xong! Đây là toàn bộ code của template:
Mã:
[SIZE="3"]<?xml version="1.0"?>
<template version="1.0" name="VnExpressrss" author="PDAVIET.NET" date="04/01/2007">
<channel type="RSS">
<name>VnExpress - Thế giới</name>
<url>http://vnexpress.net/rss/the-gioi.rss</url>
</channel>  
<parse_article> <![CDATA[
var d = new Document(article.url);
var nodeBody = d.getElementsByAttr("Table", "Id", "CContainer")[0];
article.body = nodeBody.outerHTML;
]]> </parse_article>
</template>
Hãy save lại, chọn encording là utf8 và copy vào PPC ảo để test! Thật đơn giản phải không?
save.jpg

Chú ý: Kết quả thu được có thể làm bạn chưa vừa ý, vì còn những phần thừa trong nội dung tin. Nhưng sau này, khi đã quen tay, bạn có thể thâm nhập sâu hơn vào trong bảng và chọn ra những phần cần thiết b-)
[/SIZE]
 

Kan

New Member
noname25 đã xem cái VNN ở trên chưa. Mình đã sửa cho năm 2007 rồi đó, Kô bị tải nhiều tin kô liên quan đến chủ đề và tin trùng đâu ;)
 

ti-toe

New Member
Bác KAN xem giúp cái vụ bảng giá trực tuyến hộ em với.
Hay bác làm cho em cai bảng giá này http://www.banggiavcbs.com/
bác chỉ làm giá của 1 thằng thôi, em sẽ thay vào cho các thàng còn lại
Mong bác giúp cho
 

noname25

New Member
Bác KAN xem giúp cái vụ bảng giá trực tuyến hộ em với.
Hay bác làm cho em cai bảng giá này http://www.banggiavcbs.com/
bác chỉ làm giá của 1 thằng thôi, em sẽ thay vào cho các thàng còn lại
Mong bác giúp cho

Bảng giá chứng khoáng Hà Nội đã có ở trên rồi mà bác! Bác lên bài đầu của Bác Kan xem. :D
 

Nemmatlanh

New Member
Bác Kan ơi,cái Temp của VNN với cả VN Express cũ,em thấy Up tin rất chuẩn và đủ tin.Nhưng sao cái của Bác em cứ thấy nó thiếu làm sao ý.Bác xem lại cho em với nhá.Thanks!
 

Kan

New Member
Bác Kan ơi,cái Temp của VNN với cả VN Express cũ,em thấy Up tin rất chuẩn và đủ tin.Nhưng sao cái của Bác em cứ thấy nó thiếu làm sao ý.Bác xem lại cho em với nhá.Thanks!
Cái VnExpressRSS lấy nguồn tin RSS maximum là 10 tin mỗi lần thôi. Còn temp VnExpress và VNN còn lại thì lấy những tin chính(in đậm) nên được hơn chục tin mỗi lần. Vậy nên lấy thêm ở "các tin đã đưa" để được nhiều hơn chăng :-? Mình cũng đang muốn sửa lại, thêm thời gian để các tin sắp xếp từ mới đến cũ.
titoe nói:
Bên trên là bảng giá sàn Hà Nội, mình hỏi bảng giá sàn TPHCM cơ bạn ạ.
Cái bảng HN còn biết sơ sơ phải làm gì chứ cái này thì chịu ti-toe giải thích hộ phát :D

cksgpz1.png


Kan đang viết temp cho PV, nhưng vào bằng cổng guest nên chỉ load được vài mục rồi ngỏm. Muốn load nữa thì phải tay bo ngồi xóa Cookies :((

pv4rb5.png
 

Kan

New Member
Temp VnExpress mới load toàn bộ các tin mới trong 1 chuyên mục và thêm thời gian cập nhật:

vnex1ry3.png
vnex2fy4.png

Link download ở bài đầu tiên.
 
Chỉnh sửa cuối:

Nemmatlanh

New Member
Ối Bác Kan ơi!Bác xem lại cho em Temp của VN Express với.Hồi trước em dùng không bao giờ bị hiện tượng không Down được tin như vậy cả.Hixhix!
screen001uj4.png

screen002qf4.png

screen003iu0.png

screen004mt2.png

screen005gg1.png
 

phamhson

New Member
Template thời tiết

Bác Oliver Kan ơi
Cái thoitiet_Hanoi hoặc các tỉnh khác không tự update được, chỉ còn mỗi cách xóa đi và lại lôi nó lên thì update được, bác khắc phục lại nhé.
thoitiet bay vung bác nên giới hạn vài ngày thôi không thì file cứ phình to ra thì mệt.
Chúc vui nhá.
 

tanlinhub

Super V.I.P
@nemmatlanh: Lỗi như vậy là tại mạng kém đấy. Mình update ngon mà.
 

Nemmatlanh

New Member
Bác Tanlinh ơi không phải do mạng lỗi đâu.Các mục khác em vẫn Update ngon lành mà.Chỉ có mục Đời Sống với cả Khoa Học là bị như trên hình thui.Hixhix!Đúng 2 mục em thích.Các Bác giải quyết em vụ này với!Thanks!
 

HaChau

Super V.I.P
thoitiet bay vung bác nên giới hạn vài ngày thôi không thì file cứ phình to ra thì mệt.
Chúc vui nhá.
Bạn có thể chỉnh thuộc tính tổng quát hoặc từng channel riêng lẻ mà. Chỉnh riêng lẻ thì bấm phải vào channel, chọn Properties>Cleaning, bỏ đánh dấu User default channel properties rồi chỉnh thời gian tự xóa tiv và/hoặc giới hạn số tin tối đa hiện hữu trong kênh.

Thân!
 

Kan

New Member
Rất cám ơn phát hiện của các bạn. Mình đã sửa lại temp của VnExpress khắc phục lỗi mà nematlanh đã nêu:

vnex12xu4.png
vnex12bzb5.png

Đã sửa link ở bài đầu.

Còn temp thời tiết để mai test tiếp vì phải mấy tiếng mới có dữ liệu mới :| sẽ up lên sau ;)
 

vietanh6888

New Member
Huhu em còn kô down đc bát cứ trang báo nào cả các bác ạ.Kết nỗi với Sync để vào NET vẫn ngon.E vẫn xem đc tivi,chat,duyệt web trên o2s sau khi sync mà.Hok bít có tranh chấp với soft nào kô các bác nhỉ
 

vodanh1976

New Member
Tôi đã cài Firefox 2.0 nhưng không có công cụ Dom inspector trong Tool , ai biết cách kéo công cụ đó ra xin chỉ giúp. Cảm ơn.
 
Top