How to use K2 menu system with custom values

จากบทความก่อนเรื่อง How to use “Workflow management service” (K2 Five) ของคุณเบนซ์ Thattaporn Setsittichoke มาช่วยเขียน blog แชร์ประสบการณ์ การทำงานบน K2 Five วันนี้มีมาอีก 1 หัวข้อที่น่าสนใจในการใช้งาน K2 Menu System ครับ

ใครยังไม่เคยใช้งานหรือไม่เคยได้ยินตัว K2 Menu System ลองหาอ่าน 5 extensions น่าใช้และฟรี!! ใน K2 Community (ภาคหนึ่ง) ได้ก่อนครับ

มีหลายคนบอกว่า อืมมม… K2 Menu System นี่ใช้งานง่ายมากเลย แค่ Set menu ใส่ link ใส่ภาพ ก็ได้ Menu ไว้ใช้งานแล้ว

แต่ เอ… ถ้าอยากสร้างการมองเห็นแบบ Manage เองหละ โดยไม่ต้องไปพึ่งพวก Group ของ AD เพราะส่วนใหญ่มีปัญหาตรงที่ หลายๆที่นั้นต้องไปคุยกับแผนกนู้นแผนกนี้ กว่าจะสร้าง Group ให้เราได้ก็นานซะเหลือเกิน สร้างคนเข้าไปในกลุ่มให้เราอีก ถ้าเราจัดการเองได้ก็คงไม่ต้องรอขนาดนี้ ซึ่งบทความนี้ผมจะมาบอกวิธีทั้งหมดเลยครับ ว่าสร้างยังไง แต่วิธีเยอะหน่อยนะครับ

***ขั้นตอนจะคล้ายกับ Manual ที่ K2 Menu System ให้ไว้เลยนะครับ แต่ผมเอามาอธิบายให้เข้าใจอีกที***

1. ขั้นตอนแรกให้เราไปสร้าง Table ไว้เลยครับ สร้างไว้ 2 Table นะครับ ไว้สำหรับการ Manage permission ของ menu นะครับ

  • Table แรกเป็น Table สำหรับการจัดกลุ่มของคนครับอันนี้แล้วแต่การ Design แต่ละคนเลยนะครับว่าจะสร้างละเอียดขนาดไหนอยากเก็บอะไรบ้าง
  • Table ที่ 2 จะเป็นการสร้าง Table เพื่อจัดการคนเข้าไปในกลุ่มนะครับ แล้วแต่ Design เช่นกันครับ

(บทความนี้จะสร้างแค่ Basic นะครับเพื่อความเข้าใจง่าย)

ส่วนนี้นำไปสร้างเป็น SMO > List View เพื่อ สร้างหน้า Manage ได้เลยนะครับ ส่วนข้อมูลควรใส่ยังไง ผมจะลองใส่ให้ดูครับ

me03

จากตัวอย่างนะครับ ผมกำหนด ดังนี้ครับ

  • User1 อยู่ที่กลุ่ม Admin
  • User2 อยู่ทั้งสองกลุ่ม Admin,IT
  • User3 อยู่กลุ่ม IT

2. ต่อมา ให้ไปที่ Edit From ที่เราเคยทำตัว Main หลักไว้จะเป็นลักษณะดังภาพ

me04.png

ตรงส่วนนี้เราเห็น Control Picker ตรงไหนไป Edit ที่ View นั้นต่อเลยครับ(เพราะช่วงนี้แต่ละคน Save as มาไม่เหมือนกัน แต่แก้ไขช่วงนี้ได้เหมือนกันนะ)

พอเข้ามา Edit แล้วให้ทำการสร้าง Picker อันใหม่เป็นทางที่ดีกว่าไปเปลี่ยนอันเก่านะ เพื่อไม่ให้กระทบกับอันเก่า ที่เราอาจจะมีการ Save as ไปทำตัวอื่นๆอีก ดังภาพ

me05.png

ทำการ Set SMO เข้ากับ Picker นี้เลย (ใช้ Table UserGroup > ใช้แค่ Group_ID อย่างเดียว) ดังภาพ

me06.png

การที่ Set แบบนี้ เพื่อเราจะใช้ในการ Load User ที่ทำการ Login เข้ามาแล้วทำการดูว่าอยู่กลุ่มไหนบ้าง โดยการใช้ Populate Picker โดยการโยน User เข้าที่ Picker นี้  (สามารถเข้าหน้า Rules ของ View นี้ได้เลยครับ)

me07

me08.png

me09.png

***แต่เดี๋ยวก่อน….. กรณีนี้มีบาง Version ที่ไม่สามารถ Populate ได้ สามารถแก้ไขได้ดังนี้ครับ***

Create Stored มาเพื่อทำการ transfer data ให้ picker สามารถ Return Value ได้ ดังนี้ครับ

me10.png

โดยการสร้าง Parameter Username เพื่อส่งมาจาก Form ช่วง Login และ Return Values ที่เป็นการ Concatenate String กลับไป เมื่อใช้งานผลลัพธ์จะเป็นแบบนี้ครับ

me11.png

เมื่อได้แล้ว เราทำการสร้าง SMO และกลับไปที่ View ตัวที่สร้าง Picker เหมือนเดิมโดยการมา Call ตัวนี้ ดังรูป

me12.png

me13me14

เท่านี้ก็จะได้การ Load ข้อมูลตามที่เรา Set ไว้แล้วครับ โดยสามารถ Run View นี้เพื่อทดสอบการ Return ค่า โดย Login เป็น User ที่ Config ไว้ได้เลย

3. ต่อมา เมื่อได้แล้ว มีคำถามว่า อ่าววว…แล้วเอาไปใช้ตรงไหนต่อหละ แน่นอนครับ เราเข้าไปที่ที่คุ้นเคยกันได้เลยที่นี่ครับ K2 Menu System เพื่อไป Config ตัว Custom Values (K2 Menu System > Menu Items > เลือกเมนูที่ต้องการ)

me15me16

ในส่วนนี้สามารถใส่ Values ตามที่อยากให้ Group นั้นเห็นได้เลยครับ ตัวอย่างเช่น

ผมอยากให้เมนูนี้เห็นแค่ User1 ผมก็จะใส่แค่เลข 1 แต่ถ้าอยากให้ User3 เห็น ผมก็จะใส่แค่เลข 3 ตามที่เราได้ทำการ Manage ไว้ใน Table เลยครับ

ไม่ยากเลยครับแค่นี้ก็จะได้วิธีการ Set K2 Menu System แบบ Custom Values แล้ว แต่ถ้ามีส่วนไหนผมอธิบายไม่เข้าใจ สามารถกระซิบมาหาผมได้เลยครับ ที่ผมมาแชร์บทความนี้เพราะว่าหลายที่ใช้แบบนี้บ่อยและไม่ต้องการ Manage ผ่าน AD สามารถ Manage ที่ table นี้ได้เลย

ใครมีวิธีที่ดีกว่านี้สามารถแนะนำได้เลยนะครับ ขอบคุณมากเลยครับ

*** เพิ่มเติมครับ*** ถ้ามีคำถามว่า Version เก่ามันไม่เป็นแบบนี้หละ

me17.png

Version เก่าจะไม่มีในส่วนของ Custom Values ให้กรอกเราจะต้อง Custom เพิ่มอีกทีนะครับโดยการ เพิ่ม Textbox เข้าไปเพื่อให้ใส่ Values แบบ Version ใหม่นะครับ และทำการเขียน Rule Change เพื่อ Transfer Data เข้าไปที่ Permission Data label ที่ทำการ Update data อีกทีครับ เข้าดังภาพเลยนะครับ

me18me19me20me21me22

หลังจากนั้นก็สามารถใช้งานได้เหมือน Version ใหม่เลยครับ

หรือใครต้องการผูกการใช้งาน K2 Menu System กับ Role สามารถอ่านได้จากบทความนี้ How to use K2 Menu with Role Permission จากคุณโอ๋ ohshiki ครับ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s