• warning: Invalid argument supplied for foreach() in /var/www/phpzealots.com/drupal-5.15/sites/all/modules/cck/fieldgroup.module on line 394.
  • warning: Invalid argument supplied for foreach() in /var/www/phpzealots.com/drupal-5.15/sites/all/modules/cck/fieldgroup.module on line 394.
  • warning: Invalid argument supplied for foreach() in /var/www/phpzealots.com/drupal-5.15/sites/all/modules/cck/fieldgroup.module on line 394.
  • warning: Invalid argument supplied for foreach() in /var/www/phpzealots.com/drupal-5.15/sites/all/modules/cck/fieldgroup.module on line 394.

PHP Libraries

n/a

n/a

n/a

n/a

mb_truncate จำกัดขนาดของ string ใน smarty แบบ multi-byte

เป็น modifier ที่แปลงจาก modifier truncate มา เพราะว่า truncate อันเก่า เวลาเอามาตัด UTF-8 ภาษาไทย แล้วตัดไม่เนียน มักจะมี ?? ติดท้ายมาอยู่เรื่อยๆ เนื่องจาก truncate อันเก่าทำงานในโหมด ASCII ก็เลยทำงานออกมาอย่างนั้น

แต่สำหรับใครใช้ truncate กับ UTF-8 ภาษาไทย ลองเอา mb_truncate นี้ไปใช้ดูคับ ผมปรับจาก truncate ตัวเก่า ก็ไม่ได้ทำอะไรมาก ก็เปลียน string function ให้เป็น multi-byte string function แทน และตอนนี้ fixed encoding ไว้ที่ UTF-8 ถ้าใครทำงานกับ encoding แบบอื่น ไม่ใช่ UTF-8 ก็ต้องเอาไปปรับเพิ่มเอง

 

thai_smart_date_time - Smarty modifier

Smarty modifier สำหรับแปลง English Date/Time Format เช่น 2008-02-05 14:01:35 เป็น วันที่ภาษาไทย (แปลง ค.ศ. เป็น พ.ศ. ด้วย) ด้วยเงื่อนไข 3 เงื่อนไข ได้แก่

1. DateTime เป็นวันที่ปัจจุบัน จะ return เฉพาะค่าเวลา HH:ii กลับไป
เช่น INPUT '2008-02-05 14:06:01', OUTPUT: '14:06'

2. DateTime เป็นวันที่ในปีนี้ จะ return เฉพาะวันที่ โดยไม่ระบุปี
เช่น INPUT '2008-02-05 14:06:01', OUTPUT: '2 กพ.'

3. DateTime ของปีที่ผ่านมาแล้ว จะ return วันที่ที่มีปี พ.ศ. กลับไป
เช่น INPUT '2007-12-02 14:06:01', OUTPUT: '2 ธค. 2550'

(เงื่อนไขนี้เลียนแบบ Gmail มา ^_^)

เผื่อใครใช้ smarty แล้วจะแสดงวันที่เป็นภาษาไทย แล้วยังไม่มีตัวแปลง ^_^

ปล. เป็น open source น้ะคับ อาจจะแก้ให้เข้ากับงานของคุณเองก็ได้ :)

Array in smarty template

หลังจากที่ศึกษา smarty template มาเป็นเวลาเกือบสองเดือนวันนี้งานเสร็จแล้ว(แต่ยังไม่ส่งหัวหน้า :) 555) เลยมาทดลองเขียนการใช้ array ตามความเข้าใจตัวเองเสียหน่อย ในส่วนนี้จะไม่ขอพูดถึงการใช้งาน smarty template ว่าใช้อย่างไรแล้วกันเพราะคุณ roteee ได้เคยเขียนไว้ก่อนหน้านี้แระมาเริ่มเลยละกัน

ในไฟล์ index.php

<?php
include "init.php";
 $smarty = new arrSmarty;
 
 $branch = array(
 $fuji =array(
  'Ngamwongwan' => array(
  'name' => 'Mana'
  ,'position' => 'Manager'
  ),
  'Ladprao' => array(
  'name' => 'Manee'
  ,'position' => 'Super visor'
  )
  )
 );

 $smarty->assign('branch', $branch);
 $smarty->display("index2.html");
 
?>

ในไฟล์ index.html

<!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">
 <head>
  <title>Array</title>
 </head>

{literal} ใน Smarty Template เพื่อให้ Smarty ignore การ Compile Template บางส่วน

จาก forum ที่ถามเรื่องการใช้ Smarty + Ajax ทำให้ผมจับประเด็นได้อย่างหนึ่ง สำหรับคนที่เพิ่งเริ่มใช้ smarty หรือยังสแกนอ่าน manual ไม่หมด ทำให้ไม่รู้ว่าใน smarty นั้นมี function {literal} เอาไว้สำหรับให้ smarty ข้าม code ที่อยู่ใน {literal} นี้ ในกรณีที่เราอยากจะเขียน code ต่างๆ ที่อาจจะไป match กับ syntax ของ smarty แต่ไม่อยากให้ smarty มา compile เช่นการเขียน code java script ใน smarty template เป็นต้น

ปกติ basic syntax ของ smarty template นั้น tag ของ smarty จะขึ้นต้นด้วย { และจบด้วย } (นอกจากคุณจะเซตให้เป็นอย่างอื่น) ตัวอย่างเช่น

ตัวอย่างที่ 1: Smarty Template อย่างง่าย

 

Smarty & AJAX

อยากทราบว่า AJAX นั้นสามารถใช้งานร่วมกับ Smarty ได้หรือไม่คะ ถ้าได้ช่วยยกตัวอย่างให้ดูได้มั้ยคะว่ามันจะทำงานร่วมกันได้อย่างไร

DomDocument

ยากรบกวนสอบถามว่า function load,loadXML,save,saveXML ของ domDocument นั้นมีธีการนำมาใช้งานที่แตกต่างกันอย่างไร เช่น ในกรณีที่มีเอกสาร XML อยู่ในเครื่องอยู่แล้วจะสามารถใช้ทั้ง function load และ loadXML หรือกรณีที่เอกสาร XML มาในรูปแบบของ URL (http://localhost/test/user=xx&pas=xx) จะสามารถใช้ functionใด

 

ขอบคุณล่วงหน้าสำหรับคำตอบนะคะ



©2007-2010 PHPZealots.com. All right reserved.
Syndicate content