Load dữ liệu từ một trang web khác vào website Drupal

Events happening in the community are now at Drupal community events on www.drupal.org.
cuxi's picture

Chào các bạn. Mình tạo một trang đọc tryện online. Menu của mình có nhiều truyên: kiếm hiệp, truyện ma, truyện cười. Vấn đề của mình là : khi chúng ta kích vào menu Truyện kiếp hiệp( chẳng hạn) thì dữ liệu sẽ được load từ một trang web khác(Trang đọc truyện) vào phần content của trang mình. Khi đó ở menu bên phải của mình sẽ xuất hiện một số liên kết truyện kiếm hiệp. Khi đó khách ghé thăm có thể đọc truyện ở trang của mình( nhưng dữ liệu từ trang khác).

Comments

Very very very bad title

thehong's picture

Very very very bad title.

--
Thế Hồng

Bạn định tải dữ

trankhaiphong's picture

Bạn định tải dữ liệu từ trang nào, hiên đang có trên Internet hay bạn phải xây dựng?

Vấn đề ở chỗ trang nguồn (cung cấp dữ liệu) có cơ chế hỗ trợ để bạn nhúng dữ liệu vào trang của bạn hay không?

Cảm ơn bạn đã rely.

cuxi's picture

Cảm ơn bạn đã rely. Mình dự định tải ở rất nhiều trang(mình có nhiều menu). Tải ở trên internet để load về trang của mình . Khi khách ghé thăm có thể đọc truyện nhưng vẫn ở trong trang của mình. Nó giống iframe ở fontpage. Mình muốn hỏi là làm thế nào để nhúng vào được trong drupal.
+++++=====@@@$$$$$$$$$$$ http://vnstore.us/ $$$$$$$$$@@@=======+++++++

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

Bạn đưa 1 site làm ví

trankhaiphong's picture

Bạn đưa 1 site làm ví dụ và cụ thể muốn lấy dữ liệu nào của site đó để mọi người hiểu rõ ý của bạn.

Mình hiểu như thế này không biết có đúng ý bạn không: Bạn muốn tải nội dụng của một trang trên một site bên ngoài, trang đó có thể gồm nhiều phần như (dữ liệu, các form, quảng cáo, logo...) nhưng bạn chỉ muốn lấy phần dữ liệu của trang đó mà thôi.

Đươc như bạn nói thì tốt quá.

cuxi's picture

Nhưng việc lấy phần body thôi liệu có làm được không? Ví dụ như trang dữ liệu mình cần lấy http://www.vietcadao.com/
Mình sẽ có menu item đọc truyện. Khi mình kích menu item này thì trang web http://www.vietcadao.com/ sẽ xuất hiện trong phần content của mình(body) để mình đọc chớ không chạy vào trang đó hoặc mở ra một windows mới.
Có thể giống hình nói trang web vẫn nằm trong trang của mình:
Only local images are allowed.

+++++=====@@@$$$$$$$$$$$ http://vnstore.us/ $$$$$$$$$@@@=======+++++++

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

That is very good. View

cuxi's picture

That is very good.
View link:
http://vnstore.us/tbdt/
Thank you
+++++=====@@@$$$$$$$$$$$ http://vnstore.us/ $$$$$$$$$@@@=======+++++++

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

Lọc nội dung

trankhaiphong's picture

Trên các trang chia sẻ nội dung như: Youtube, Clip.vn, Scribd... hỗ trợ việc nhúng nội dung vào trang bên ngoài thông qua các embed widget, còn những site mà bạn đề cập đến hoàn toàn không hỗ trợ điều đó. Bạn cũng không thể đưa một frame vào phần nội dung (body content) trong site của bạn được. Mình nghĩ chỉ có cách là lọc nội dung.

Ví dụ bạn muốn lấy nội dung bài viết của trang http://www.thongtincongnghe.com/article/7556. Chỉ lấy phần nội dung bài viết thôi còn phần như banner, block, menu... thì không lấy.

Bạn viết một thành phần (module) thực hiện các bước sau:

Lấy mã nguồn nội dung trang
Mã nguồn nội dung trang trên sau khi được tải sẽ có dạng

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="vi">
<head>
...
</html>

Lọc lấy nội dung cần thiết
Phần nội dung cần lọc lấy

<table class="contentpaneopen">
<tr><td align="left" valign="top">
<span class="small">

...
</table>

Đổi đường dẫn tương đối thành tuyết đối
Phần mã nguồn nội dung bạn lọc được có thể chứa nhiều đường dẫn tương đối khi hiển thị trên trang của bạn sẽ bị sai, bạn cần đổi chúng sang đường dẫn tuyệt đối.

Hiển thị
Mã nội dung sau khi lọc được thì có thể đưa ra trong phần nội dung.


Tùy theo từng site mà có cách lọc khác nhau, nếu bạn muốn lấy nhiều nguồn thì phải nghiên cứu kỹ các site đó để có cách lọc hợp lý.

Cảm ơn bạn rất

cuxi's picture

Cảm ơn bạn rất nhiều. Mình chỉ là một newbie drupal mình chưa có khă năng viết được module như bạn nói. Nhưng mình sẽ cố gắng để viết. Mình đã cố gắng chèn một iframe vào nhưng không đẹp và không theo ý của mình không có banner và block giống như bạn nói.
Thank you very much.
+++++=====@@@$$$$$$$$$$$ http://vnstore.us/ $$$$$$$$$@@@=======+++++++

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

Mình thấy bạn khá

trankhaiphong's picture

Mình thấy bạn khá sáng tạo và độc đáo trong việc nhúng iframe vào site của mình :)

Sở dĩ không có banner và các thứ linh tinh khác như bạn nói đơn giản là vì site nguồn không chèn vào nếu không thì sẽ không tránh khỏi đâu.

Nhưng mình thắc mắc là tại sao bạn lại chọn giải pháp lấy dữ liệu từ site bên ngoài mà không biến chúng thành dữ liệu trên site của bạn. Việc sao chép tuy hơi mất công nhưng có nhiều ưu điểm hơn:

  1. Thành phần (module) book của Drupal hoạt động khá hiệu quả, kết hợp với Printer, e-mail and PDF thì miễn chê.
  2. Dễ quản lý nội dung: có thể phân loại các nội dung qua các chuyên mục và từ khóa (tag)
  3. Dễ quản lý truy cập: hạn chế thành viên truy cập các nội dung
  4. Dễ tìm kiếm: không thể tiến hành tìm kiếm nếu dữ liệu không ở trên site của bạn được
  5. Không phụ thuộc vào site bên ngoài: như cách làm của bạn hiện giờ thì khi vietcadao.com mà hỏng thì site của bạn cũng ngừng cung cấp dữ liệu luôn.

Tuy nhiên có thể sẽ mất rất nhiều thời gian.

Đúng như bạn nói.

cuxi's picture

Đúng như bạn nói. Nhưng mục đích site của mình không phải là khách ghé thăm để đọc truyện. Mà đó là một shopcart. Mình sẽ bán nhiều thứ ở trên này( Đây là vấn đề chính). Còn việc đọc truyện chỉ là một menu phụ thêm để khách có thể thư giản. Nên mình cũng không muốn mất nhiều thời gian vào nó. Nếu sao chép mình e sẽ rất lâu bởi vì đọc truyện của mình có nhiều menu item. Nên mình chọn giải pháp này và nhiều vấn đề nảy sinh ra. Chọn giải pháp này là một được con đường tắc nhưng đối với một newbie cũng hơi khó khăn. Và mình phải cố gắng hơn. Mình nhìn thấy bạn trên diễn đàn drupalvn.org bạn tham gia khá lâu 2007 giờ đây chắc bạn có kinh nghiệm rất nhiều với drupal. Nếu bạn không phiền cho mình hỏi một câu hỏi: Mình muốn tham khảo ý kiến của bạn Bạn sẽ bắt đầu như thế nào khi viết một modules cho drupal ( Tất nhiên tài liệu học đã có sẵn ) với kiến thức về php chỉ ở mức căn bản.

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

Việc viết một thành

trankhaiphong's picture

Việc viết một thành phần (module) không phải là quá phức tạp trong Drupal vấn đề chỉ là vạn sự khởi đầu nan thôi.

Mình sẽ giới thiệu nội dung một thành phần rất đơn giản, hết sức ngắn gọn và cần thiết cho nhưng người sử dụng Drupal tiếng Việt đó là viet_typing.

Sau khi tải xuống, giải nén ra bạn sẽ thấy thư mục viet_typing chứa 5 tập tin. Trong 5 tập tin chỉ có 2 tập tin chính đó là:
1. viet_typing.info - Tập tin này dùng để khai báo thông tin về thành phần của mình cho Drupal
2. viet_typing.module - Tập tin này chứa mã nguồn can thiệp vào quá trình xử lý của Drupal

Tiến hành một số thay đổi sau:
1. Đổi tên thư mục viet_typing thành vnkey, tập tin viet_typing.info thành vnkey.infoviet_typing.module thành vnkey.module
2. Mở tập tin vnkey.info, đổi dòng name = Vietnamese Typing thành name = Vietnamese Keyboard và đổi dòng project = viet_typing thành project = vnkey
3. Mở tập tin vnkey.module, đổi viet_typing_help thành vnkey_help(, đổi viet_typing_block thành vnkey_blockdrupal_get_path('module', 'viet_typing') thành drupal_get_path('module', 'vnkey')

Vào trong trang quản lý các thành phần (admin/build/modules) bạn sẽ thấy thành phần mới có tên là Vietnamese Keyboard hoạt động giống như Vietnamese Typing.

Phần sau sẽ hướng dẫn tạo trình đơn (menu) cho thành phần...

Cảm ơn bạn nhiều.

cuxi's picture

+++++=====@@@$$$$$$$$$$$ http://vnstore.us/ $$$$$$$$$@@@=======+++++++

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/

zen cart

SunflowerMission's picture

nếu bạn bán hàng trên mạng sao bạn không dùng zen cart? zen cart tốt hơn và có nhiều features hơn là drupal ecommerce .

http://www.zen-cart.com/

Oh. Zentcart đơn giản

cuxi's picture

Oh. Zentcart đơn giản hơn nhiều nhưng mình muốn theo drupal và lấy drupal như một chuẩn để mình dùng . Một số trang mình vẫn dùng zentcart để sử dụng. Như bạn nói thì còn có nhiều software nữa để dùng oscomerce, X-cart......không riêng gì zencart.
Bạn có một trang web thật tốt quá http://www.sunflowermission.org/ giúp rất nhiều cho những trẻ em hoàn cảnh. Mình rất cảm kích về tấm lòng của bạn dành cho trẻ em có hoàn cảnh đặc biệt. Mong rằng trang web sẽ ngày đông đảo sự quan tâm của mọi người. Thank.
Trong trang web của bạn http://photo.sunflowermission.org/ mình cũng đang muốn cái này. mình cũng dùng drupal 5.x. Nếu có sự hướng dẫn của bạn cho mình cách làm album này thì tốt quá. Mình muốn mỗi User của trang có thể tạo album cho riêng mình không biết có được không.

Tran Tan
Tel : 0905 403 723
http://baogame.vn/
http://Bienhoa.vn/