Skip to content
J-C HERON edited this page Mar 20, 2021 · 12 revisions

Ajax

Ajax integration

An instance of jQuery (phpMv-ui with semantic) is injected by default in the controllers (defined in config.php)

"di"=>[
	"@exec"=>array("jquery"=>function ($controller){
				return \Ubiquity\core\Framework::diSemantic($controller);
			})
],

The $jquery property must be added in the javadoc of a controller to activate the code completion of your IDE on this injection:

 /**
  * @property JsUtils $jquery
  */
class MyController extends ControllerBase{}

Script generation in a view

The view is displayed on the jquery instance, with the renderView method. This allows the compilation of the scripts, and their passage to the view.

	#[Route('_default',name:'home')]
	public function index(){
		$this->jquery->renderView("MyController/index.html");
	}

They are then integrated via the script_foot variable (the Twig raw filter removes the HtmlEntities protection and makes this script executable).

MyController/index.html

{{ script_foot | raw }}
Clone this wiki locally