Você precisa definir seu asynchronous module. Para fazer isso você simplesmente define um arquivos .js em seu plugin conforme http://learn.elgg.org/en/1.11/guides/javascript.html?highlight=javascript#id2 e depois você requer esse modulo na view que você precisar com elgg_require_js().
Um exemplo:
A view onde você define seu modulo js:
mod/seuPlugin/views/default/js/meuModulo.js
define(function(require) { // Aqui você define que seu modulo requer a biblioteca do elgg e jquery. // RequireJS vai tratar essas dependências. Veja mais sobre requirejs em http://requirejs.org/ var elgg = require("elgg"); var $ = require("jquery"); return function() { console.log('Ops... Aqui é o código do meu modulo'); }; });
A view onde você utiliza seu modulo js.
mod/seuPlugin/views/default/minhaPagina.php
<?php
elgg_require_js('meuModulo');
?>
<!-- seu código html -->
Obs.: note que o nome do modulo utilizado em elgg_require_js('meuModulo'); é relativo ao diretorio views/default/js. Ou seja, se seu modulo estiver em mod/seuPlugin/views/default/js/componentes/meuModulo.js então o require será elgg_require_js('componentes/meuModulo');
I read this http://learn.elgg.org/en/latest/tutorials/wysiwyg.html
And I have a feeling that's not the right way
because of this http://learn.elgg.org/en/latest/guides/javascript.html
but I could not run my script asynchronously
Add your own code e.g. into:
mod/projects/views/default/js/projects/project_steps.js
As instructed in this part: http://learn.elgg.org/en/latest/guides/javascript.html#defining-modules-as-a-view
Also add the form_wizard as a dependency in the project_steps.js :
define(function(require) { var form_wizard = require("form_wizard");
In the view that is calling "echo elgg_view_form('projects/edit', $form_vars)" add this:
elgg_require_js('projects/project_steps');
Your javascript should now be working.
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by Raül Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.