เมื่อเรามองซอฟต์แวร์ที่ถูกพัฒนาโดย Microsoft ที่หลากหลายและพร้อมใช้งาน แต่หลาย ๆ ครั้งเราก็ไม่เลือก ก็เพราะบางครั้งการทำงานไม่ได้อำนวยความสะดวกเลย เกิดข้อผิดพลาดต่าง ๆ มากมาย ทำให้เสียเวลา เสียโอกาส และบางครั้งกระทบต่อธุรกิจด้วย
เมื่อธุรกิจขยายตัว เกิดคำถามมากมาย เกี่ยวกับแนวทางการพัฒนา จัดการข้อมูลต่าง ๆ ลูกค้า อาทิ รหัสผู้ใช้งาน รหัสผ่าน ที่อยู่ อีเมล์ เป็นต้น ได้ง่ายขึ้น โดยที่ข้อมูลเหล่านั้นมีความถูกต้อง การต่อขยายฟังก์ชั่นให้ครอบคลุมการให้บริการ และอื่น ๆ อีกมากมายซึ่ง Microsoft Software ไม่สามารถตอบสนองความต้องการได้ทั้งหมด
ธุรกิจจึงเกิดคำถามว่าจะทำยังไงเราจะสามารถสร้าง ปรับแต่ง ให้บริการ สิ่งที่เรามีอยู่นี้แบบบูรณาการได้ คำตอบก็คือคุณจะต้องใช้ซอฟต์แวร์แบบเปิด สามารถสร้าง ปรับแต่ง แก้ไข ฟังก์ชั่นการทำงาน ให้เหมาะสมกับธุรกิจได้ตลอดเวลา
แนวทางที่หลาย ๆ ธุรกิจเลือกคือการใช้ PHP Framework ต่าง ๆ หรือบางธุรกิจก็จะใช้การสร้างขึ้นเอง เพื่อให้ใช้งานได้ง่าย แต่จะไม่ง่ายเมื่อต้องการต่อเติมส่วนขยายต่าง ๆ หรือการสร้าง Web Service เพื่อแลกเปลี่ยนข้อมูลกับธุรกิจอื่น ๆ ได้ ซึ่ง Web Service นี้เป็นหัวใจการทำงานแบบบูรณาการ เพราะบางครั้งเราไม่รู้ว่าผลลัพธ์ที่เราต้องการ จะต้องมีวิธีการสร้างแบบไหน แค่รู้ว่าเราต้องการข้อมูลแบบไหนเพื่อใช้สำหรับธุรกิจเรา ก็ทำให้เดินหน้าธุรกิจได้ อาทิ อัตราแลกเปลี่ยนเงินตรา ราคาทองคำ เป็นต้น
FLOW3 เป็นเว็บแอพพลิเคชั่นแพลทฟอร์ม คล้าย ๆ กับ spring ใน JAVA รวมฟังก์ชั่นการทำงานต่าง ๆ เกี่ยวกับการบูรณาการได้ดีเยี่ยม รวมถึงการรวม web service ช่วยอำนวยความสะดวกให้นักพัฒนาเว็บไซต์สามารถมองหา solution ที่จะใช้กับธุรกิจต่าง ๆ ได้หลากหลาย และรวดเร็ว ถูกพัฒนาโดย ชุมชนนักพัฒนา TYPO3 ที่แข็งแกร่ง
FLOW3 Local Running First Installation






ถามหน่อยครับ
เกี่ยวกับ plugin.tx_indexedsearch
เวลาเรา search ออกมาแล้ว มันจะแสดง pagebrowse ออกมาทั้งด้านบนด้านล่างเลยครับ มันจะอยู่ใน
…
ผมอยากให้มันออกมาข้างล่างอันเดียว
ตอนนี้มันออกมาแบบนี้ครับ
…
…(ผลลัพธ์การsearch)
…
ทำให้มันมี pagebrowse 2 อันทั้งบนและล่าง
พอจะมีวิธีที่จะให้มันออกมาด้านล่างอันเดียวไหมครับ
ผมดูใน Template แล้วก็ไม่มี ###PAGEBROWSE### ให้แก้เลยครับ
ช่วยด้วย T_T
ปกติใน template ของ index search จะมี marker ต่าง ๆ อยู่
ถ้าไงลองไปเข้าไปดูแล้วกำหนดตำแหน่งผลลัพธ์อีกทีนึงค่ะ
1) ให้ copy ไฟล์ indexed_search.tmpl ใต้ typo3\sysext\indexed_search\pi ไปยังที่ fileadmin
2) จากนั้นกำหนดใน typoscript setup ดังนี้
plugin.tx_indexedsearch.templateFile = fileadmin/indexed_search.tmpl
นี่คือตำแหน่ง template ของ index search ใหม่ที่เราสามารถปรับแต่งได้โดยไม่ต้องเข้าไปยุ่งกับ core ค่ะ
อยู่ใน fileadmin แล้วครับแก้ไปหลายอย่างแล้วครับ อิอิ
ผมตัดส่วนอื่นๆออกหมดแล้ว
พวก ###SEARCH_FORM### begin
###SECTION_HEADER### begin และอื่นๆ
เหลือแค่ในส่วนของ ###RESULT_OUTPUT### begin ที่ไม่ได้ลบ
เพราะผมจะเอาแค่ผลลัพธ์การsearchออกมาอย่างเดียวครับ
แต่มันมี
div class=tx-indexedsearch-browsebox /div
div class=tx-indexedsearch-res /div (ผลลัพธ์การsearch)
div class=tx-indexedsearch-browsebox /div
browsebox มันครอบ search result ทั้งบนและล่างเลย
ไม่รู้มาไง หา### ที่น่าจะเกี่ยวกับ browsebox ก็ไม่มีครับ
ให้ลอง configure ข้างล่างนี้ใน ts setup ดูค่ะ ว่าได้หรือเปล่า
plugin.tx_indexedsearch.topBrowserWrap >
plugin.tx_indexedsearch.browseBoxWrap >
ถ้าไม่ได้ให้ใช้ CSS hide สิ่งที่ไม่ต้องการไปค่ะ
div.tx-indexedsearch-browsebox {display:none;} – ง่ายดีค่ะ
แดง
ลอง
plugin.tx_indexedsearch.topBrowserWrap >
กับ
plugin.tx_indexedsearch.topBrowserWrap =
แล้วครับ แต่ Wrap ไม่ติด ครับ
แล้วถ้าใช้
div.tx-indexedsearch-browsebox {display:none;}
browsebox อันล่างจะหายไปด้วยครับ
ผมจะเอาอันล่างไว้อันเดียว
แต่อย่างไรก็ขอบคุณมากๆครับ
ตอนนี้ผมกำลังดู pi/class.tx_indexedsearch.php อยู่อิอิ สงสัยต้องแก้
ค่ะ อาจจะต้องแก้ เพราะถ้าไม่เห็นใน TS Setup แล้ว ก็ต้องล้วงเข้าไปถึง code ค่ะ
เจอละครับขอบคุณมากๆครับ
pi/class.tx_indexedsearch.php
บรรทัดประมาณ 688-693
$content = $browseBox1.$rowcontent.$browseBox2;
ต้องตัด $browseBox1 ทิ้ง กลายเป็น
$content = $rowcontent.$browseBox2;
ครับ
ยังไงก็อย่าลืมเก็บไว้ตำแหน่งอื่นเวลาที่จะ update core นะค่ะ จะได้ไม่ต้องมานั่งแก้ปวดหัวอีกค่ะ
เพิ่มเติมครับ
ที่ผมบอกว่าผมตัดส่วนอื่นๆออก
พวก ###SEARCH_FORM### begin
###SECTION_HEADER### begin และอื่นๆ
น่ะครับ
ช่วง ###SEARCH_FORM### begin
###SEARCH_FORM### end
ห้ามตัดเลยนะครับ
ผมตัดแล้วเจอปัญหาตรง browsebox เลย
browsebox ลิ้งผิดทั้งหมด
ถ้าไม่เอา ###SEARCH_FORM### ห้ามลบทิ้งนะครับให้ใช้วิธี ใส่ CSS class ให้มัน display:none
แบบที่คุณ Kickstarter บอกครับ
ส่วน ###SECTION_HEADER### และอื่นๆ ลบทิ้งได้ไม่มีปัญหาครับ
เยี่ยมเลยค่ะ
แสดงว่าตอนนี้ modv1 เชี่ยวชาญเรื่อง TYPO3 มากเลยทีเดียว
ขอบคุณที่ช่วยแนะนำบนบล๊อกนะค่ะ
ผมอยู่บริษัทเดียวกับคุณ chotika ครับ อยู่ทีมเดียวกัน อิอิ
อันบนพิม div ไม่ติด
ตอนนี้มันออกมาแบบนี้ครับ
div class=tx-indexedsearch-browsebox /div
div class=tx-indexedsearch-res /div (ผลลัพธ์การsearch)
div class=tx-indexedsearch-browsebox /div
ตอนนี้เจอปัญหาใหม่อีกละ
plugin.tx_indexedsearch
search ภาษาอังกฤษ ได้ ปกติ
แต่ search ภาษาไทย แล้ว NO results found. ตลอด – -”
ยินดีค่ะ
ตั้งใจเรียนรู้กันนะค่ะ จะได้สร้างชุมชนเข้มแข็งกันเสียที
ส่วนเรื่อง search – index ผ่าน front end ยังไม่ได้ค่ะ
ส่วน backend ทำได้ ก็ยังงงอยู่เหมือนกันค่ะ
ครับ จะได้มีที่แลกเปลี่ยนความรู้ Typo3 ในไทยกันครับ
ช่วยด้วยครับ
วันนี้ผมอัพเป็น TYPO3 Ver. 4.6.2
แล้วมีปัญหาเลย
มีปัญหากับ Extension ตัวที่ผมเขียนขึ้นเองน่ะครับ
มัน query ฐานข้อมูลไม่ได้เลย T_T
มันขึ้น
Fatal error: Call to undefined method t3lib_DB::sql() in…/…./…./… on line XXX.
ซึ่งบรรทัดนั้น code ผมคือ
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, “SELECT * FROM xxx WHERE xxx={$xxx}”);
พอจะทราบมั้ยครับว่าต้องเปลี่ยน code หรืออย่างไร
เพราะก่อนอัพเวอร์ชั่น typo ผมก็ต่อฐานข้อมูล query ได้ปกติครับ
ก่อนอื่นไปปลดตัว enable ที่ localconf.php ในโฟลเดอร์ typo3conf ก่อนค่ะ
ลบ extension ที่เรา install ที่บรรทัด $TYPO3_CONF_VARS['EXT']['extList'] และ $TYPO3_CONF_VARS['EXT']['extList_FE'] ค่ะ
ส่วนโค้ดการ query ให้ลองเปลี่ยนเป็นฟังก์ชั่นดูค่ะ
/*
* function for query database return array!
*/
function doDBquery($query) {
// Do the query
$rows = array();
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query);
$error = $GLOBALS['TYPO3_DB']->sql_error();
// Check for SQL error
if ($error != null) {
debug($error, ‘A SQL error has occured while executing the following query: “‘.$query.’”.’);
return $rows;
}
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$rows[] = $row;
}
return $rows;
$GLOBALS['TYPO3_DB']->sql_free_result($res);
}
หวังว่าคงช่วยได้เนอะ
ก่อนจะทำการ update typo3 ทุกครั้ง ให้ทำการ backup ก่อนเสมอนะค่ะ
เดี๋ยวจะลองดูครับ ขอบคุณครับ
ได้แล้วครับ
$GLOBALS['TYPO3_DB']->sql(TYPO3_db, “SELECT * FROM xxx WHERE xxx”);
จะใช้ไม่ได้แล้วครับ
ต้องเปลี่ยนไปใช้
$GLOBALS['TYPO3_DB']->sql_query(“SELECT * FROM xxx WHERE xxx”);
ประมาณนี้ครับ
เยี่ยมค่ะ
อย่าลืมโพสเรื่องดีๆ เยอะ ๆ นะค่ะ
เจอปัญหาทุกวัน คงได้โพสทุกวันครับ อิอิ
หลังจากอัพเป็น TYPO3 Ver. 4.6.2
มีปัญหาอีกละ
sr_feuser_register มีปัญหาทันทีเลย
มีปัญหาเกี่ยวกับ ภาษาครับ
มันเอาคำว่า “Array” ออกมา แทนที่จะเป็นคำที่ผมใส่ไว้ใน locallang.xml เป็นทั้ง default และ th
เช่นหน้า form ลงทะเบียน กลายเป็นคำว่า “Array” ทุกคำเลย
sr_feuser_register ที่ผมใช้ก็เป็นเวอร์ชั่นล่าสุดแล้ว 2.6.1 (มั้ง)
ผมหาในกูก็เจออันนี้
http://www.typo3.net/forum/beitraege/diverse_sonstige_module/107980/
น่าจะปัญหาเดียวกันมั้งแต่ผมอ่านเยอรมันไม่ออก T_T
ถ้าคุณ Kickstarter ทราบวิธีแก้ หรืออ่านเยอรมันออก รบกวนแนะนำด้วยครับ
ผมนั่งงงมาทั้งวันเลยวันนี้ T_T
คุณน้อง
แนะนำให้ใช้เวอร์ชั่นของ 4.5.9 นะค่ะ เพราะว่ายังคงการแปลภาษาแบบเดิมอยู่
พี่ยังไม่ recommend เรื่องเวอร์ชั่นใหม่ให้ใช้กับ Live เพราะบางอย่างยังต้องอ้างอิงแบบเดิมนะจ๊ะ
4.6.x มีการเปลี่ยนแปลงวิธีการ Translation
ถ้าไงลองดูวิธีใช้งานเรื่องภาษาที่เป็นแบบ XLIFF กับ extension เวอร์ชั่นใหม่ ๆ ดูค่ะ น่าจะช่วยได้
ส่วนเรื่องของ register กับเวอร์ชั่น 4.6.x มีปัญหากับ div2007 ที่ยังไม่รองรับการแปลภาษาให้กับ register จ้า
ลองแก้ไขตามนี้จ้า (เทสให้พี่ด้วยนะ ได้ผลไงแจ้งด้วย)
Path: sr_feuser_register/lib/class.tx_srfeuserregister_lang.php (บรรทัดประมาณ 120)
function getLL ($key, $alt = ”, $hsc = FALSE) {
// If the suffix is allowed and we have a localized string for the desired salutation, we’ll take that.
$rc = ”;
if (isset($this->conf['salutation']) && in_array($this->conf['salutation'], $this->allowedSuffixes, 1)) {
$expandedKey = $key.’_’.$this->conf['salutation'];
$usedLang = ”;
//$rc = tx_div2007_alpha::getLL_fh001($this->pibase, $usedLang, $expandedKey, $alt, $hsc);
$rc = $this->pibase->pi_getLL($expandedKey);
}
if ($rc == ” || $rc == $alt || $usedLang != $this->pibase->LLkey) {
//$rc = tx_div2007_alpha::getLL_fh001($this->pibase, $usedLang, $key, $alt, $hsc);
$rc = $this->pibase->pi_getLL($key);
}
return $rc;
} // getLL
อย่าลืม save ตัวที่เราแก้ไข เก็บไว้ให้ดีหล่ะ จะได้ไม่ลืม ^^
เยี่ยมครับ ใช้ได้ผลจิงๆ
ภาษาออกมาเหมือนเดิมละ สุดยอด
OK จ้า แก้ได้ก็ดีแระ
เวลาอัพเวอร์ชั่น 4.6.2 แล้ว
พวก extension ที่อยู่ใน /typo3 อย่าง tx_indexedsearch หรือ felogin
มันจะสร้าง file locallang.xlf เพิ่มมาใน /pi
แล้วมันก็ไปอ่าน locallang.xlf แทนที่จะอ่าน locallang.xml ที่เราแก้ไว้
ผมเลยไปเปลี่ยนชื่อมันให้เป็น locallang2.xlf มันก็กลับมาอ่าน locallang.xml ของเราเหมือนเดิม
ตอนนี้ยังไม่เจอปัญหาอะไร วิธีนี้น่าจะใช้ได้ อิอิ
มีวิธีไหนไม่ครับที่จะเอาคอมเม้น
This website is powered by TYPO3 – inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2011 of Kasper Skaarhoj. Extensions are copyright of their respective owners.
ออกจากส่วนของ header โดยไม่ต้องเข้าไปแก้ code
เอาใหม่ๆ
มีวิธีไหนมั้นครับที่จะเอา คอมเม้นแบบนี้
This website is powered by TYPO3 – inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2011 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at http://typo3.com/ and http://typo3.org/
ออกจากส่วน head นอกจากเข้าไปแก้ code
วิธีมีอยู่หลากหลาย
แต่แอดมินไม่แนะนำให้เอาออก
เพราะเราใช้ซอฟต์แวร์ฟรี และจำเป็นต้องให้เครดิตมันสมองของคนทำนะค่ะ
จึงจะเป็นสิ่งที่ถูกต้องค่ะ ^^
ผมก็อยากเอาไว้ครับแต่เจ้านายสั่งมา อิอิ
เอาเป็นว่าเคสนี้ แอดมินขอเลี่ยงการแนะนำนะค่ะ ^^