Một số ý kiến làm đẹp photoblog on Drupal

Một số ý kiến làm đẹp photoblog on Drupal

The information below is somewhat obsolete and kept just for archiving purposes. It's recommended to check new blog post to get better idea how to make a nice photoblog on Drupal today.

Here are the main reasons why I've chosen Drupal over dedicated photoblogging scripts:

  • User and access management (as I want my friends to be able to access some "friends only" images)

  • Email notifications for new content + various RSS feeds (general / per tag / ...)

  • Text blog

  • Better functionality, flexibility and extendibility

  • RSS aggregator to link to my friends' news

  • Nice and clean urls

  • and... I'm quite familiar with Drupal code and themes (and this was probably the main reason)

After drawing a concept it was not very difficult to assemble photoblog on Drupal. But I made 3 differently setup installations before this final one was released. And I had to make several php code snippets and module code modifications to make the whole thing work the way I want.

Another task was the custom theme. My idea was to create quite dark theme as I like to look at the pictures against the dark background. I think, this way you can feel the vibe better, and it requires less concentration from you. The worst (the less enjoyable at least) part in theme creation process was restyling default drupal.css classes for admin area. I wanted them to match the general darker theme layout instead of quite bright one offered by default drupal.css.

List of modules used

Asterisk(*) denotes modules provided in default Drupal distribution.

  • aggregator*

  • block*

  • blog*

  • captcha

  • codefilter

  • comment*

  • contact*

  • drupal*

  • graphstat

  • help*

  • image

  • menu*

  • node*

  • page*

  • path*

  • pathauto

  • ping*

  • poormanscron

  • search*

  • simple_access

  • statistics*

  • subscriptions

  • system*

  • tagadelic

  • taxonomy*

  • taxonomy_xml

  • upload*

  • user*

  • watchdog*

  • watermark

I was not using image_gallery module as all the "galerizing" functions are performed by the theme and taxonomy (it is at least more flexible).

Custom code:

watermark module

I didn't like the quality of images produced by this module after the watermark is applied to the image. Image quality was too jpegy - 66. It is ok for any news or blog posts but it's not enough for photo dedicated site. So I added the quality argument (which was missing) to it. Around line 235 there is a code:

if (!imagejpeg($im, $image_path)) {

Which I changed to:

  if (!imagejpeg($im, $image_path, 95)) {

The composite jpeg (image with applied watermark) quality produced by the watermark module is 92 now. Which is fine.

Random image on front page (random full node)

Here is the code (php code snippet) which I used in my mission:

<?php
$list_length = 1;
$sql = "SELECT node.type, node.nid FROM node WHERE node.type = 'image' AND node.status = 1 ORDER BY RAND() DESC LIMIT $list_length";
$result = db_query($sql);
while ($anode = db_fetch_object($result)) {
$output .= node_view(node_load(array('nid' => $anode->nid)), $teaser = FALSE, $page = TRUE, $links = TRUE); 
}
print $output;
?>

PHP handling for Drupal 4.7 in mission described here: http://drupal.org/node/57650

Tag cloud block code

The reason why I didn't use the block provided by tagadelic module was that module posts only 12 most used tags (taxonomy terms). But I needed all of them for full navigation.

Here is the code (php code snippet) which I used for tag cloud block:

<?php
$vocs[] = 4; //  id of the vocabulary of which you want to display a tag cloud
$output = theme('tagadelic_weighted',tagadelic_get_weighted_tags($vocs));
print $output;
?>

That's all. It was not very complicated task to make a nice and feature rich photoblog powered by Drupal.

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Công cụ  để Optimize Drupal Site Performance

Công cụ để Optimize Drupal Site Performance

You don't need to rely only on performance-related modules within Drupal

Seo On page

Hướng dẫn Seo On page

Nếu ai đã biết qua về SEO thì bạn có thể hiểu SEO chia làm 2 phần đó là SEO ON PAGE và SEO-OFFPAGE Trong đó SEO ON PAGE là tối ưu hóa các yếu tố trên trang

Number 4: Infrastructure - 5 lỗi cần tránh trong Drupal

Number 4: Infrastructure - 5 lỗi cần tránh trong Drupal

In previous articles in this series, we’ve covered the areas of architecture, security and performance. All of these aspects are affected by your infrastructure from the time of development to deployment.

Công ty diệt chuột T&C

 

Diet con trung