ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: userOne ที่ 22 กุมภาพันธ์ 2008, 22:09:15



หัวข้อ: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: userOne ที่ 22 กุมภาพันธ์ 2008, 22:09:15
หัวข้ออออออ��

เป็นเหมือนข้างบนน่ะครับ อันที่จริงๆหัวข้อมันจะยาวๆกว่านั้นครับ
ไม่แน่ใจว่าเป็นที่ database ป่าวครับ เพราะ convert มาจาก phpbb2

แนะนำด้วยนะครับ

ปล ถามที่ thaiadmin ยังไม่มีใครตอบ รีบครับ  :D
ปล2 ที่ zone-it ยังไม่เป็นสมาชิก ใครมี invite ขอหน่อยครับ
ปล 3 ที่พึ่งที่ดีที่สุด TSB  :D
 


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: thaipic ที่ 22 กุมภาพันธ์ 2008, 22:26:25
ของผมใช้วิธีกำหนดคุณสมบัติของฟิวล์ subject เป็นแบบ text
และที่แก้ได้ชัวร์ๆคือ กำหนด Encoding จาก utf-8 เป็น tis-620 ไปเลยอ่ะครับ

รับรองแก้ได้ชัวร์ ดูเว็บผมก็ล่ายคับ http://www.esarntoday.com/forum


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: EThaiZone ที่ 22 กุมภาพันธ์ 2008, 22:42:43
ปัญหาอาจเกิดได้ 2 กรณี
1. ขนาดฟิลด์ในฐานข้อมูลน้อยไป
2. ฟังค์ชั่นตัดคำ พวก substr มันตัด

ตามนั้น - -*


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: zo501 ที่ 22 กุมภาพันธ์ 2008, 22:48:00
เป็นที่ encode ของ mysql หรือป่าวครับ แบบว่าตอน convert จะต้องระบุไปให้ถูกด้วยนะครับ ผมเคย convert จาก IPB -> SMF ติดที่ encode ตอน convert นี้ละครับ

ไม่แน่ใจว่าถูกหรือป่าว :-[


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: userOne ที่ 22 กุมภาพันธ์ 2008, 23:55:04
มันเป็นแบบ tinytext ไปลองอ่านๆมาดูมันบอกเก็บได้ 255 เท่ากับ varchar(255) ซึ่งอันเดิม (phpbb2) ก็ varchar(255)

1. ลองเปลี่ยนเป็น text แล้วไม่ได้ครับ
2. อันเดิมphpbb2 เป็น utf-8 ครับ ถ้า convert มาเป็น tis-620 เละเลยครับ
3. "ฟังค์ชั่นตัดคำ พวก substr มันตัด"  น่าสนใจครับ ว่าแต่มันอยู่ไฟล์ไหนเหรอท่าน
4. "เป็นที่ encode ของ mysql หรือป่าวครับ " อันนี้ผมลองเปลี่ยน การเรียงลำดับเป็น utf8-gen ยังไม่ได้ครับ ไม่รู้เข้าใจถูกป่าวนะครับ

โค๊ด:
http://www.esarntoday.com/forum
เว็บสวยดีครับ  :D

ขอบคุณทุกคนที่ตอบเลยครับ รวดเร็วทันใจดี ถึงจะยังทำไม่ได้  ;D

งมต่อไปวันที่ 2

มันเป็นแบบนี้น่ะครับ
โค๊ด:
http://www.sarakhamguide.com/board/index.php?board=3.0
:P


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: thaipic ที่ 22 กุมภาพันธ์ 2008, 23:59:08
มันเป็นแบบ tinytext ไปลองอ่านๆมาดูมันบอกเก็บได้ 255 เท่ากับ varchar(255) ซึ่งอันเดิม (phpbb2) ก็ varchar(255)

1. ลองเปลี่ยนเป็น text แล้วไม่ได้ครับ
2. อันเดิมphpbb2 เป็น utf-8 ครับ ถ้า convert มาเป็น tis-620 เละเลยครับ
3. "ฟังค์ชั่นตัดคำ พวก substr มันตัด"  น่าสนใจครับ ว่าแต่มันอยู่ไฟล์ไหนเหรอท่าน
4. "เป็นที่ encode ของ mysql หรือป่าวครับ " อันนี้ผมลองเปลี่ยน การเรียงลำดับเป็น utf8-gen ยังไม่ได้ครับ ไม่รู้เข้าใจถูกป่าวนะครับ

โค๊ด:
[url]http://www.esarntoday.com/forum[/url]
เว็บสวยดีครับ  :D

ขอบคุณทุกคนที่ตอบเลยครับ รวดเร็วทันใจดี ถึงจะยังทำไม่ได้  ;D

งมต่อไปวันที่ 2

มันเป็นแบบนี้น่ะครับ
โค๊ด:
[url]http://www.sarakhamguide.com/board/index.php?board=3.0[/url]
:P

เอ๋า เว็บเพื่อนบ้าน ;D


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: userOne ที่ 23 กุมภาพันธ์ 2008, 00:06:19
อ้างถึง
เอ๋า เว็บเพื่อนบ้าน

ใช่เจ้าของเว็บ ขอนแก่นลิ้ง ไม่ครับ ถ้าใช่ รู้สึกว่าจะกวาดหมดเลยนะครับ แถวอีสาน  ;D

เอาอย่างงี้เลยดีไม่ครับ ตอนจะตั้งกระทู้ มันจะมีช่องให้กรอก หัวข้อ ผมลอง view code ดู

โค๊ด:
<input type="text" name="subject" tabindex="1" size="80" maxlength="80" />

ที่อยากรู้คือ code นี้มันอยู่ไฟล์ไหนของ SMF เหรอครับ จะบังคับ maxlength เอาเลยครับ  ;D

 >:( >:( >:( >:(


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: EThaiZone ที่ 23 กุมภาพันธ์ 2008, 01:11:59
อยู่ที่ Display.template.php กับ Post.template.php ครับ

ในโฟลเดอร์ของเทมเพลตที่กำลังใช้อยู่นะครับ *-*

ปล. มั่วไล่โค้ดจนลืมนอน ไปนอนล่ะเน้อ ZZZzzz...~~~~


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: mitr ที่ 23 กุมภาพันธ์ 2008, 15:40:16
วิธีแทรก google adsene ระหว่างกระทู้ทำยังไงเหรอครับ


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: Thenetwork ที่ 23 กุมภาพันธ์ 2008, 20:40:16
เป็นเพราะ field "subject" ใน table "smf_messages" มันเป็น TINYTEXT ครับ

เอาสคริปต์ sql ดังนี้ไปรัน เพื่อเปลี่ยนฟิลด์นี้ให้เป็น MEDIUMTEXT

ALTER TABLE `micnet_smf`.`smf_messages` MODIFY COLUMN `subject` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;


หรือ
เปิดไฟล์  /Sources/Post.php แล้วหาบรรทัดคำสั่ง

   // Make sure the subject isn't too long - taking into account special characters.
   if ($func['strlen']($form_subject) > 100)
      $form_subject = $func['substr']($form_subject, 0, 100);

   // At this point, we want to make sure the subject isn't too long.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));

   // Maximum number of characters.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));
ลองเปลี่ยนตัวเลขจาก 100 ให้เพิ่มขึ้นเป็นซัก 300 - 500 แทน

บอร์ดผมก็เคยเป็นครับ..CreDit Rcw


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: au8ust ที่ 23 กุมภาพันธ์ 2008, 23:54:31
เคยตอบไปใน Zone-IT (http://www.zone-it.com/forum/node/topic,29662.msg281774.html#msg281774) แล้ว แต่ก๊อบมาตอบอีกละกัน

จริง ๆ มันมี MOD นะถ้าจำไม่ผิด แต่ว่าขี้เกียจหา แก้ได้ด้วยการเข้าไปที่ phpMyAdmin แล้วรัน
โค๊ด:
ALTER TABLE smf_messages
CHANGE COLUMN subject subject text;


จากนั้นเปิดไฟล์ Sources/Post.php แล้วหา
โค๊ด:
// Make sure the subject isn't too long.
if (strlen($form_subject) > 100)
$form_subject = substr($form_subject, 0, 100);
กับ
โค๊ด:
// At this point, we want to make sure the subject isn't too long.  Stripslashes first to avoid a trailing slash.
if (isset($_POST['subject']) && strlen(stripslashes($_POST['subject'])) > 100)
$_POST['subject'] = addslashes(substr(stripslashes($_POST['subject']), 0, 100));

หาเจอแล้วก็ลบออกทั้งสองที่ หรือจะ comment ไว้ก็ได้


เสร็จแล้วไปไฟล์ Post.template.php ของธีมที่ใช้ แล้วหา
โค๊ด:
<input type="text" name="subject"', $context['subject'] == '' ? '' : ' value="' . $context['subject'] . '"', ' size="80" [color=crimson]maxlength="80"[/color] tabindex="1" />

หาเจอแล้วก็ลบส่วนที่ระบุว่า maxlength="80" ออก


อืม คล้าย ๆ ภารกิจค้นหาและทำลายแฮะ


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: mojijung_05 ที่ 14 มกราคม 2010, 17:30:07
ขอบคุณน่ะครับ ผมเพิ่งหัดเล่นครับ (มือใหม่ครับ) ใช้วิธีนี้ได้เรยครับ  :wanwan020:

หรือ
เปิดไฟล์  /Sources/Post.php แล้วหาบรรทัดคำสั่ง

   // Make sure the subject isn't too long - taking into account special characters.
   if ($func['strlen']($form_subject) > 100)
      $form_subject = $func['substr']($form_subject, 0, 100);

   // At this point, we want to make sure the subject isn't too long.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));

   // Maximum number of characters.
   if ($func['strlen']($_POST['subject']) > 100)
      $_POST['subject'] = addslashes($func['substr'](stripslashes($_POST['subject']), 0, 100));
ลองเปลี่ยนตัวเลขจาก 100 ให้เพิ่มขึ้นเป็นซัก 300 - 500 แทน

บอร์ดผมก็เคยเป็นครับ..CreDit Rcw



หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: pizad_sura ที่ 14 มกราคม 2010, 17:49:04
smf 2.0 ของผมก็ยังเป็นอยู่เหมือนกัน  :wanwan001:


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: nikki ที่ 08 มีนาคม 2013, 17:49:20
ลองทุกวิธีแล้วไม่รอดอะครับ ยังเป็นอยู่แฮะ  :P


หัวข้อ: Re: หัวข้อกระทู้ใน SMF มันได้สั้นๆ
เริ่มหัวข้อโดย: adsee49 ที่ 08 มีนาคม 2013, 18:28:11
เปิดไฟล์ Sources/Post.php แล้วหาโค๊ด แก้ค่า ตัวเลข จาก 100  เป็น  140  ทั้ง 4 ตัว
โค๊ด:
// Make sure the subject isn't too long.
if (strlen($form_subject) > 100)
$form_subject = substr($form_subject, 0, 100);
กับ
โค๊ด:
// At this point, we want to make sure the subject isn't too long.  Stripslashes first to avoid a trailing slash.
if (isset($_POST['subject']) && strlen(stripslashes($_POST['subject'])) > 100)
$_POST['subject'] = addslashes(substr(stripslashes($_POST['subject']), 0, 100));


หา โค๊ดจาก /Themes/default/Post.template.php ของธีม  แก้ไข maxlength="80" จาก 80 เป็น 120 (หรือจะน้อยกว่านี้ก็ได้ แล้วแต่ความพอใจครับ)
โค๊ด:
<input type="text" name="subject"', $context['subject'] == '' ? '' : ' value="' . $context['subject'] . '"', ' size="80" [color=crimson]maxlength="80"[/color] tabindex="1" />


SMF 1.X.X แก้ได้ 100%