ฉันต้องเพิ่มบล็อกลงในหน้า ในกล่องโต้ตอบการเพิ่มบล็อก ฉันมีกล่องเลือกซึ่งฉันต้องกรอกข้อมูลที่ได้รับจาก ajax ก่อนที่จะบันทึกบล็อก (ไม่สามารถบันทึกได้เว้นแต่ฉันจะเลือกตัวเลือก)
ปัญหาคือการเรียก ajax มักจะเป็นการกระทำของคอนโทรลเลอร์ซึ่งไม่มีอยู่จนกว่าฉันจะบันทึกบล็อกซึ่งฉันไม่สามารถบันทึกได้ก่อนที่จะเลือกตัวเลือก ฉันจะทำการเรียก ajax ไปยังฟังก์ชัน non-action อื่น ๆ ก่อนที่จะบันทึกบล็อกได้อย่างไร สามารถเป็นฟังก์ชันคอนโทรลเลอร์อื่นได้หรือไม่ หรือต้องเป็นเฉพาะ action_function เท่านั้น เป็นไปได้ไหม?
[อัปเดต]
ฉันกำลังลองเส้นทาง ประกาศเส้นทางในตัวควบคุมแพ็คเกจ:
$this->app->make(Router::class)->register('/api/get_forum_posts', '\Concrete\Package\AbForum\Src\Forum\MyFunctions::get_forum_posts', null, [], [], '', [], ['GET']);
แต่มันพูดว่า:
เกิดข้อยกเว้น: /srv/www/htdocs/c584/concrete/src/Controller/ApplicationAwareControllerResolver.php:89 Class \Concrete\Package\AbForum\Src\Forum\MyFunctions ไม่มีอยู่
แต่คลาส MyFunctions อยู่ในโฟลเดอร์นั้น packages/ab_forum/src/Forum/MyFunctions.php