Tạo modules các tin liên quan, các tin khác, Fillter theo từng taxomony

ketoiloihp's picture

Mình đang thử xây dựng một website trên cơ sở mã nguồn Drupal.
Và hiện tại thì mình đang gặp 2 vấn đề:
- Thứ nhất là mình tìm hoặc xây dựng một modules để có thể hiện thị giống như phần " Các tin khác" của trang Joomlaviet.org. Demo: http://joomlaviet.org ( các bác có thể kéo xuống duới để xem demo ạ ).
<br/>cac bai viet khac<br/><br/>
- Thứ 2 là mình muốn tạo bộ fillter khi hiện thị list các node giống như thế này. Demo: http://help.joomla.org/content/category/15/99/132/ ( Mình đã thử sử dụng view tuy nhiên mình vẫn chưa biết cách nào để nó có thể hiện ra như vậy mà chỉ có thể sử dụng fillter khi tạo view ).
<br/>Fillter<br/><br/>
Mong các bác có kinh nghiệm về drupal chỉ giáo.
Cảm ơn các bác nhiều.

AttachmentSize
cacbaivietkhac.jpg206.42 KB
fillter.jpg79.33 KB
Groups:
Login to post comments

Hi Bạn. +Các tin liên

cuxi's picture
cuxi - Wed, 2009-05-27 19:49

Hi Bạn.
+Các tin liên quan drupal cung cấp rất nhiều modules để sử dùng với views bạn vẫn làm được.
hay bạn có thể dùng modules này :
http://drupal.org/project/similarterms
+ Cái thứ hai bạn dùng Expose của modules views để làm.


Thanks cuxi đã reply

ketoiloihp's picture
ketoiloihp - Mon, 2009-06-08 03:00

Thanks cuxi đã reply trả lời cho mình.
Mình đã cài thử modules similarterms nên tuy nhiên nó chỉ có tác dụng khi hiện thị ở các node... dạng bài viết khác hoặc bài viết liên quan... Chứ không phải ở trang chủ.
Ở đây mình muốn hiển thị thông tin như vậy nhưng ở trang chủ và ở trên dòng hiện thị các page giống như trang chủ của joomlaviet còn về vấn đề hiển thị các thông tin về các bài viết khác trong node thì hiện tại mình đã có giải pháp.
- Về expose của modules views hiện tại tạm thời mình vẫn chưa test đựơc mình sẽ reply cho bạn ngay sau khi có kết quả


Ở đây mình muốn

cuxi's picture
cuxi - Tue, 2009-06-09 12:43

Ở đây mình muốn hiển thị thông tin như vậy nhưng ở trang chủ và ở trên dòng hiện thị các page giống như trang chủ của joomlaviet còn về vấn đề hiển thị các thông tin về các bài viết khác trong node thì hiện tại mình đã có giải pháp.
Hi Bạn.
Với cái này thì bạn có thể tạo một views
để lấy các tin của các node cần hiện lên trang chủ
C1: Ở phần footer của views này bạn có thể viết một đoạn code php để lấy các tin liên quan cho nó hiện phía dưới tin cuối cùng
C2: nếu bạn không muốn viết code thì bạn tạo một views tin liên quan và chèn phía dưới phần footer của views trên.


Thanks vì đã trả lời

ketoiloihp's picture
ketoiloihp - Wed, 2009-06-10 06:10

Thanks vì đã trả lời mình...
Mình đã thử phương pháp dùng block để load các thông tin liên quan tại trang chủ... tuy nhiên khách hàng lại muốn các thông tin đó đựơc hiển thị trên đoạn phân trang...
Quả thực là mình cũng đang đau đầu vì cái này... :D.
Hiện tại thì mình đã thuyết phục đựơc khách hàng bỏ cái đó... tuy nhiên có lẽ về lâu dài thì có 1 modules hiển thị dạng đó cũng là nên có :D.


Hi, Ban. Hôm nay mình có

cuxi's picture
cuxi - Thu, 2009-06-11 20:22

Hi, Ban.
Hôm nay mình có ngồi code thử vấn đề này.
Mình có viết một đoạn code tạo cái này ( mình đã test ok) . Với đoạn code này bạn bỏ vào node sau đó chọn input PHP code( hoặc custom a content trong pannel và chon input PHP code trên homepage của bạn nếu bạn sử dụng panel)

<?php
$type
='page';
 
$sql = "SELECT * FROM {node} WHERE type = '%s' ORDER BY created DESC";
$result = pager_query($sql, 10, 0, NULL, $type);
   while(
$data = db_fetch_object($result)){
  
$node = node_load($data->nid);
  print
node_view($node, TRUE);
  }
 
$lienquan ="SELECT nid, title, type, created FROM {node} WHERE type = '%s' ORDER BY created DESC";
$ketqua = db_query_range(db_rewrite_sql($lienquan), $type, 2, 4);
  print 
"Tin liên quan"<br />;
  while(
$links = db_fetch_object($ketqua)){
   print
l($links->title, 'node/'.$links->nid).'<br />';
  }
// thay vi viet doan tin lien quan tren ta co the chen cai views lien quan vao day
 
print theme('pager', NULL, 10, 0);// tao các phân trang luôn nằm ở dưới tin liên quan
?>

khi bạn làm thì thay thế node type và số tin muốn hiện trên trang home
+ Bạn tạo một views_liên quan sau đó print view đó thay mấy câu lệnh tin liên quan phía trên nhuq vậy sẽ đẹp hơn rất nhiều
+Với cái này mình viết một modules sẽ tự động hơn rất nhiều về số node muốn hiện lên home page, số tin liên quan,


hi Cuxi

ketoiloihp's picture
ketoiloihp - Thu, 2009-06-18 10:08

Mình đã thử nhúng đoạn trên vào trong panel tuy nhiên nó vẫn không chạy... bạn có thể cài lên 1 site mẫu và gửi code và data cho mình đựơc không?
Thanks.


Thanks

ketoiloihp's picture
ketoiloihp - Fri, 2009-06-26 10:21

Hiện tại mình đã tạm thời có giải pháp các tin liên quan bằng cách dùng 1 modules load lại node... tuy nhiên cách này có vẻ hơi hạn chế.... vì khi muốn thêm 1 vài trừơng khi hiển thị lại phải vào code...
Không biết bác nào có giải pháp khác giống như hook vào trong quá trình load homepage để chỉnh sửa không ạ.
Thanks các bác đã đọc.


mình nghĩ bạn nên

cuxi's picture
cuxi - Tue, 2009-07-07 17:47

mình nghĩ bạn nên viết cái modules homepage để cho việc config được dễ dàng.


Beetbe.com drupal development

beetbe.com's picture
beetbe.com - Wed, 2009-07-22 14:07

Mình nghĩ bạn thử dùng Module : Content relevant hay Node relevant gì gì đó mình ko nhớ rõ.

Mình nghĩ là sẽ ok thôi

http://beetbe.com
Drupal web development service in vietnam
info@beetbe.com

Beetbe™ is a small team of experienced web developers/designers aim to develop custom drupal web applications/themes for clients all over the world


He he, mãi mới thấy

mrkyt's picture
mrkyt - Thu, 2009-07-23 03:26

He he, mãi mới thấy người nhiệt tình như thế này!! Cảm ơn sự sôi động của bác Beetbe.com nhé!! Cho em làm quen với bác được không?


Welcome bac

beetbe.com's picture
beetbe.com - Sat, 2009-07-25 09:12

Sao lai khong chu

YM cua minh la : dungiis

http://beetbe.com
Drupal development service, theme service
info@beetbe.com
http://twitter.com/beetbe.com
Beetbe™ is a small team of experienced web developers/designers aim to develop custom drupal web applications/themes for clients all over the