DataTables / Editor integration with Joomla
DataTables / Editor integration with Joomla
agustin_garciaromero
Posts: 42Questions: 0Answers: 0
Hello,
I'm trying to integrate DataTables 1.9.3 and Editor 1.2.1 in a Joomla enviroment, but I'm having issues when calling the JS DataTable file from a Joomla URL.
I mean, if I call the Editor generated HTML file, everything works fine:
http://localhost/pfm/administrator/components/com_pfm/libraries/jq/DataTables193/test.html
(Somehow I was able to understand that the PHP file is being called like: "administrator/components/com_pfm/libraries/jq/DataTables193/php/table.test.php?_=1347145007027"
But if I call the table.test.js file directly from a Joomla component, I receive the following errors:
"NetworkError: 404 Not Found - http://localhost/pfm/php/table.test.php?_=1347145007027"
NetworkError: 404 Not Found - http://localhost/pfm/images/calender.png"
It seems like calling the JS from the HTML file generated by Editor is enabling DataTables/Editors to understand the pathname where it's being called and generating a random ID [table.test.php?_=1347145007027], but calling it from outside is somehow missing that and the constructed URL is incomplete: [ 'http://localhost/pfm/php/table.test.php' vs. 'administrator/components/com_pfm/libraries/jq/DataTables193/php/table.test.php']
Hope I'm making myself clear on the issue I'm facing and some guidance can be provided.
Tnx
I'm trying to integrate DataTables 1.9.3 and Editor 1.2.1 in a Joomla enviroment, but I'm having issues when calling the JS DataTable file from a Joomla URL.
I mean, if I call the Editor generated HTML file, everything works fine:
http://localhost/pfm/administrator/components/com_pfm/libraries/jq/DataTables193/test.html
(Somehow I was able to understand that the PHP file is being called like: "administrator/components/com_pfm/libraries/jq/DataTables193/php/table.test.php?_=1347145007027"
But if I call the table.test.js file directly from a Joomla component, I receive the following errors:
"NetworkError: 404 Not Found - http://localhost/pfm/php/table.test.php?_=1347145007027"
NetworkError: 404 Not Found - http://localhost/pfm/images/calender.png"
It seems like calling the JS from the HTML file generated by Editor is enabling DataTables/Editors to understand the pathname where it's being called and generating a random ID [table.test.php?_=1347145007027], but calling it from outside is somehow missing that and the constructed URL is incomplete: [ 'http://localhost/pfm/php/table.test.php' vs. 'administrator/components/com_pfm/libraries/jq/DataTables193/php/table.test.php']
Hope I'm making myself clear on the issue I'm facing and some guidance can be provided.
Tnx
This discussion has been closed.
Replies
Allan
In previous version of Editor, I just had to hardcode the following vars on the JS file to make absolute the URLs reference
"ajaxUrl"
"sAjaxSource"
"sSource" (if I used "fnServerData" callback function)
But on Editor 1.2.1 is not working anymore, not sure if you can guide me on where such path is being generated and where can I catch it and make it an absolute one
tnx
Any comment on this one?
I'm still unable to see how it works
Regards
Allan
I solved this issue by replacing the dots with underscores on the file names (dataTables_editor_min.js, dataTables_tabletools_min.js, jquery_dataTables_min.js, dataTables_tabletools.css, dataTables_editor.css, jquery_dataTables.css)
Now, I'm facing a new error -see below-, when trying to edit any record, which isn't shown on 1.2.0 but it does on 1.2.1
It can be found @ http://royalelandscaping.com/pfm/index.php?option=com_pfm
Regards
[/code]
Notice: Undefined property: DataTables\Editor\Field::$name in /home/royalela/public_html/pfm/administrator/components/com_pfm/libraries/jq/DataTables193/php/lib/Editor/Editor.php on line 319
{"id":-1,"error":"","fieldErrors":[{"name":null,"status":null},{"name":null,"status":null},{"name":null,"status":"This field is required"},{"name":null,"status":"This field is required"},{"name":null,"status":"This field is required"},{"name":null,"status":null},{"name":null,"status":"This field is required"}],"data":[]}
[/code]
Allan
I'm not sure what do you mean with your question, Is it about the Editor version?
* File: dataTables.editor.min.js, * Version: 1.2.1
When clicking on "Edit" button, all fields show up correctly filled, with all options enabled.
But if I edit any text field and click on "Update", it shows me a legend like: "An error has occurred - Please contact the system administrator"
The response text looks like:
Notice: Undefined property: DataTables\Editor\Field::$name in /home/royalela/public_html/pfm/administrator/components/com_pfm/libraries/jq/DataTables193/php/lib/Editor/Editor.php on line 319
{"id":-1,"error":"","fieldErrors":[{"name":null,"status":null},{"name":null,"status":null},{"name":null,"status":null}],"data":[]}
Is this what you are asking for?
Any comment here? Should I look into something else to find what's going on?
Not quite - I'm looking for the code that you use to create the Editor instance. How are you initliaisting it? Given the PHP error, you might also need to give us the PHP code.
Allan
The code is the self generated by the system but instead of HTML, I had to rename it as PHP, remove the head tag and use a helper to include the CSS/JS files
[code]
...
DataTables Editor
Family linked
Recipient ID
From\/To
Recipient
Category
Amount
Estimated?
Periodicity
Next Discount Date
Automatic Tracking
Linked Account
Bill Reminder
Income Type
Memo
....
[/code]
[code]
editor = new $.fn.dataTable.Editor( { ...
[/code]
Allan
The code is the same as generated by the Editor, except that I have to specify the URL for the .php file, since for some reason, within my Joomla environment it's not automatically found by the .js
[code]
strUrlDT = 'http://' + window.location.host + (window.location.pathname).replace(/index.php$/, "") + "administrator/components/com_pfm/libraries/jq/DataTables193/";
var editor = new $.fn.dataTable.Editor( {
"ajaxUrl": strUrlDT + 'php/table.test.php',
"domTable": "#test",
...
[/code]
Can you guide me on where the randmo ID is being generated ("table.test.php?_=1347145007027") this may lead me to determine if I must build the above path differently
Regards
I see - so you have created the Editor setup with Generator and are trying to integrate those files? In that case, I'm afraid it might be that you need to ask in a Joomla forum how the path rewriting works in Joomla. There must be a way of telling it that you just want to load Ajax data from a file at a certain location!
Allan
Sure I can check with them. I touched base here first, because as I mentioned, the approach I'm using here used to work correctly with your previous version of DataTables, but when I tried to migrate to the one you released couple of weeks ago, it stopped working and I noticed the underscore and self generated ID behavior, which I didn't notice before.
So I thought some of the changes you made on your framework should be the reason, but I agree with you, if it works in a standalone deployment, I should be able to integrate in other environments (e.g. Joomla)
Regards