Using Custom Skins for jCarousel in Drupal

jCarousel is a very nice slide show plug-in for jQuery. There is also a Drupal module for jCarousel.

Using jCarousel in Drupal is quite easy. After enabling jCarousel module, you just assign an ID to a list and call a PHP function jcarousel_add('#your-list-id') in your theme file or somewhere like a view's header (don't for get to choose PHP input).

But what if you want to create your own skin for jCarousel? It can be quite confusing for those who don't code much (or enough - like me) so I will explain here step by step.

  1. You have to know that the function jcarousel_add() can take up to 4 parameters (I couldn't find this in the jCarousel module's help page so I looked in the jcarousel.module file itself), $selector, $options, $skin, and $skin_path.
  2. $selector is your jQuery selector for the list you want to enable jCarousel. $options is an associative array for jCarousel configuration. The details are here. $skin is the skin name. $skin_path is your custom skin's css file path (it has to be an internal path such as "sites/all/modules/jcarousel/jcarousel/skins/tango/skin.css" for Tango skin).
  3. You need to create a wrapper element, such as div, with class="jcarousel-skin-skin_name" for your jCarousel-enabled list.
  4. You may copy and modify skin.css from the existing skins (tango or ie7). Don't forget to change the class selector .jcarousel-skin-tango or .jcarousel-skin-ie7 to your own one. This is where I got stuck -_-".
  5. Make sure that your $skin_path is correct and enjoy theming. :D

Overriding Drupal Views with .tpl.php Files

After being away from customising Drupal for a while, I have forgotten in some details about how to override (or customise) Views using my own .tpl.php files.

In my opinion, overriding Views this way is very comfortable because you just put a template file with a specific name in the theme's directory and let Drupal scan for this new template and that's it!

Beforehand, you need to know that specific name of your .tpl.php file. You have to take a look at "Theme: Information" in "Basic Settings" in the View edit page. Decide which kind of overriding you need here. The file names are ordered by level of specification.

You will find a button labeled "Rescan template files" here. You will need to activate your newly-created template file(s) here again in the future.

Then you can create your own .tpl.php file(s) now. You may wonder how your template file will look like. This is also where I got stuck - and got motivation to write this entry :)

The clue is that you can find all the default Views in the Views module's directory itself. In my case it's /sites/all/modules/views/theme. Copy what you need and enjoy theming :D

ต่อเน็ตผ่าน EDGE ของ DTAC ด้วย Nokia 3110c บน Ubuntu Jaunty Jackalope

มันฟังดูเป็นส่วนผสมที่ไม่ค่อยมีใครมีนะ (DTAC+Nokia 3110 classic+Ubuntu Jaunty Jackalope) แต่เอาน่า เผื่อมันจะเป็นประโยชน์กับใครได้บ้าง อย่างที่ผมได้รับความช่วยเหลือมาแล้ว

เรื่องของเรื่องก็คือ ด้วยความเห่อมือถือใหม่ที่ใช้ EDGE/GPRS ได้ ก็เอามาต่อกับคอมพิวเต้อร์เพื่อเล่นอินเตอร์เน็ตบ้างเป็นครั้งคราว (ในกรณีที่ขี้เกียจลงจากห้องมาใช้เน็ตฟรีของมหาวิทยาลัย) ตอนที่ใช้ Ubuntu เวอร์ชั่น 8.10 Intrepid Ibex นั้น น่าประทับใจมาก คือเสียบมือถือปุ๊บ คลิกเลือก DTAC ใน Network Manager ก็ต่อได้เลย สองคลิกเท่านั้น! เทียบกับ Windows ที่ต้องลงโปรแกรม Nokia PC Suite แล้วเมพกว่าเห็น ๆ

ปัญหาก็คือ หลังจากอัพเกรดเวอร์ชั่นของ Ubuntu จาก 8.10 เป็น 9.04 Jaunty Jackalope แล้วเนี่ย มันต่ออินเตอร์เน็ตอีกไม่ได้ โดยปัญหาเหมือนว่าจะเป็นการถอดชื่อเว็บไซ้ท์ออกเป็นหมายเลข IP ไม่ได้ (มันจะขึ้น looking for xxx.com ในแถบด้านล่างของ Firefox อยู่นาน) เลยถามใน Twitter ได้ @phisite กับ @wiennat มาช่วยตอบว่า ให้ไปเอาค่า DNS เก่าออก (คลิกขวาที่ Network Manager Panel -> Edit Connections -> Mobile Broadband -> DTAC -> Edit -> IPv4 Settings -> เลือก Method เป็น Automatic (PPP)) เท่านั้นก็เรียบร้อย

สำหรับสาเหตุนั้นเดาว่าเมื่อเร็ว ๆ นี้ DTAC เพิ่งเปลี่ยน DNS แล้ว Jackalope มันจำค่า DNS เดิมจาก Ibex มา

ขอขอบคุณ @phisite และ @wiennat (เรียงตามตัวอักษร)

Asian Physics Olympiad 2009

ไปเป็นอาสาสมัครการแข่งขันฟิสิกส์โอลิมปิกระดับเอเชีย ครั้งที่ 10 มา ไม่รู้จะบันทึกยังไง เอาทวีตมาเรียงก็แล้วกัน (ไอ้พวก xxx ago นี่เทียบจาก 22:30 วันที่ 3 พฤษภาคม)

ลา มะลิลา

พักจากงานนิดนึง ตอนเด็ก ๆ ใครเคยเล่น "ลา มะลิลา" บ้าง สนุกมาก

กติกาก็คือ เริ่มต้นร้อง

ลา มะลิลา ขึ้นต้นเป็นมะลิซ้อน พอแตกใบอ่อนเป็นมะลิลา (ซ้ำ)

บางเวอร์ชั่นก็เอากติกาใส่เข้าไปเลย คือเริ่มต้นร้อง

ลา มะลิลา ขึ้นต้นอะไรก็ได้ แต่ให้ลงท้ายด้วยสระอา (ซ้ำ)

งั้นผมเริ่มเลยนะ

ลา มะลิลา ขึ้นต้นเป็นมะลิซ้อน พอแตกใบอ่อนเป็นมะลิลา (ซ้ำ)

ตีหนึ่งครึ่งแล้วหรือนี่ (ซ้ำ) นอนดึกทุกทีเพราะไม่ค่อยมีเวลา

ลา มะลิลา ขึ้นต้นเป็นมะลิซ้อน พอแตกใบอ่อนเป็นมะลิลา (ซ้ำ)

ช่วงนี้วันหยุดยาว (ซ้ำ) ไม่ต้องตื่นเช้านอนกลิ้งไปมา

เอ้า เชิญ!

แถลงข่าวเรื่องการตั้งศูนย์รับเรื่องข้อมูลคนหาย

สหพันธ์นิสิตนักศึกษาแห่งประเทศไทย, เครือข่ายเดือนตุลา, เครือข่ายราษฎรนักเขียนศิลปินประชาธิปไตย จะมีการแถลงข่าวเรื่อง

การตั้งศูนย์รับเรื่องข้อมูลคนหายในเหตุการณ์ปราบปรามการชุมนุมเสื้อแดง 12-13 เมษายน 2552

รวมถึงข้อเรียกร้อง และข้อเสนอในเหตุการณ์วิกฤติการเมืองในปัจจุบัน

วันพุธที่ 15 เมษายน 2552 เวลา 11 นาฬิกาตรง ณ อนุสรณ์สถาน 14 ตุลา ถนนราชดำเนิน

จึงขอเชิญสื่อมวลชนที่สนใจเข้าร่วมทำข่าว และขอเชิญผู้ที่สนใจรับฟัง ในวัน และเวลาดังกล่าว

ติดต่อสอบถามเพิ่มเติมได้ที่ 080 593 7904

สมควรตาย?

ฆ่ามัน ฆ่ามัน ฆ่ามัน เพื่อนของฉัน ลั่นออกมา หน้าตาเฉย เอาให้พรุน กระสุนจริง ยิงมันเลย เอาสิเว้ย ล้อมปราบ ให้ราบไป

เธอก็คน เขาก็คน ฉันก็คน จะแห่งหน ชนชั้น เผ่าพันธุ์ไหน ทั้งชีวี มีดีชั่ว กลั้วกันไป หามีไม่ ที่ล้วน สมควรตาย