Inline Editing stopped working once gone live - SOLVED (...ISH)
As it says on the box. Since I've put my site up live, the inline editing seems to have stopped working, on both 'body' content rendered with fuel_var, and modules using with fuel_edit.
I can edit both the modules and pages fine using admin, but inline editing yields nothing. The pencil icon appears ok, and the page content appears ok in the inline edit box. After making the changes and pressing 'save', however, the page is not changed.
Examples:
Home page, uses 'home.php' layout. Expecting 'body' in the content div to be editable:
<?php $this->load->view('_blocks/header')?>
<?php $this->load->view('_blocks/right')?>
<?php $this->load->view('home')?>
div id="content"
<?php echo fuel_var('body', ''); ?>
/div
<?php echo fuel_block('footer')?>
<?php endif; ?>
Pertinent code from my 'wordbox' module Expecting this to update the record identified by 'id' in the wordbox table :
<?php echo fuel_edit($row->id, 'Edit:'.$row->title, 'wordbox');?><?php echo $row->content;?>
This all worked fine on my development box, so bit confused and having difficulty finding the difference as to why it's not working on my live set-up, especially since I can update via admin, and the inline editing function has no trouble retrieving the data. This suggests it's not a database connection problem.
Cheers for any help!
Comments
If you're on Chrome use the View->Developer->Javascript Console - if you're on Firefox and you still don't have it, it's time to get the Developer's toolbar.
What you would be looking for are 404 requests when you click the inline edit icon. Possibly this has to do with clean_urls configuration?
Thanks for the reply. Ok,will have a look into clean_urls config. In the meantime, here is some more info:
Using firebug, when I load any page whilst logged in to admin, I get the following two errors in my console:
-missing ; before statement
[Break On This Error] .currentTop;var V-U)ag=aa.height-Z.hei...r Z=C.getChild(0).getFrameDocument(); ckedit...3948800 (line 98)
-syntax error
[Break On This Error] } else { // opera jquery...3948800 (line 336)
Then, when I click on the inline edit icon, the following GET request shows up in the console:
http://www.mydomain.com/fuel/pages/inline_edit/body/13
Response header for this is:
Date Wed, 27 Jul 2011 09:20:06 GMT
Server Apache
Keep-Alive timeout=5, max=88
Connection Keep-Alive
Content-Type text/html
Cache-Expires Mon, 26 Jul 1997 05:00:00 GMT
Expires Mon, 26 Jul 1997 05:00:00 GMT
Content-Length 2809
but then I get a new javascript error in the console:
$(elem).markItUp is not a function
[Break On This Error] $(elem).markItUp(myMarkItUpSettings); edit_m...3948800 (line 311)
Also - Notcied another symptom. I tried to load in my existing header into blocks, but the page froze when asking to confirm whether I wanted to autoload the updated header block...
Hoping someone has some advice on this , as at the moment seems well beyond my ken!
Cheers!
have you looked inside the 'Response' (not header) tab in firebug on the ajax request for the inline editor?do you get the expected html for the editor in there?
EDIT - additional info. I nthe net console, each click on the inline editing icon creates a request in the XHR (XMLHttpRequest) panel. I assume this is the ajax request. This brings back a 200 ok, and in the response, we have the html for the edit section.
Each of the these calls, however, produces another javascript error in the console -
myMarkItUpSettings is not defined
[Break On This Error] myMarkItUpSettings.previewPar...Settings.previewParserPath + '?' + q;
Suggests url problems somewhere?
Can u tell more about that 'undefined' 404 request? That sounds like the culprit imho
Ran through the diagnostics you suggested on my development box - seems the undefined issue is there as well. It seems connected to a jquery carousel I am running. There is no noticable errors, but when I remove that script the 'undefined' error dissapears, so seems like as good a place to start as any.
So, will start pulling that apart, see what it's doing to cause this error. Thanks for the help so far!
Cheers
I've stripped out all the javascript from my page, left in only:
php echo js('jquery,main')
and I'm still getting three errors when viewing my page logged into fuel:
- missing ] after element list
[Break On This Error] toLowerCase()!=="object"){var m=e,n=e....d='"+o+"'] "+b),f)}catch(s){}finally{n
jquery...3948800 (line 16)
- $ is not defined
[Break On This Error] $(document).ready(function(){
home (line 136)
- missing ; before statement
[Break On This Error] l{\tmargin-left: 0px;\tpadding-left: 4...);}}return E;},arrayToList:function(C,
ckedit...3948800 (line 61)
I DONT get the thrid error when I am viewing the page logged out of fuel
And, whilst back in admin, but away from my page just on the dashboard, I get the following error:
-missing ; before statement
[Break On This Error] l{\tmargin-left: 0px;\tpadding-left: 4...);}}return E;},arrayToList:function(C,
home (line 299)
The frustrating thing is that it's working fine on my development box now. If anyone has any ideas or pointers, would be greatly appreciated. I'm hoping that it's soemthing daft as I'm compeltely stumped!
Cheers,
Tallowman
- missing ; before statement
[Break On This Error] l{\tmargin-left: 0px;\tpadding-left: 4...);}}return E;},arrayToList:function(C,
ckedit...3948800 (line 61)
Still can't use inline editing, I get:
edit_m...3948800 (line 173)
CKEDITOR is not defined
[Break On This Error] if (CKEDITOR && CKEDITOR.instances != undefined){
I feel like I'm going a bit mad. Going to have a break for a while. Thanks for the help :-)
EDIT - cleaned out my cache and everything seemd to working. Updated the home page body a few times, and then first I got an 'illegal character' error, and then the 'missing ; before statement' error came back. Without me adding back in any of my javascript.
The inline editing seems to work regardless of these errors - but still don't like them being there. Completley lost as to where to go now with this!
Cheers.
The inline-editing issue only occurs in Firefox, and doing a ctrl+F5 refresh clears the error. I discovered that sometimes the javascript files being served by the firefox cache had parts of other files appended to the end of them. This of course caused errors, and in particular when the ckedit js was affected, it stopped inline editing working.
I managed to find this on bugzilla, which seems to relate to my problem:
https://bugzilla.mozilla.org/show_bug.cgi?id=355567
Not sure why it's affecting my site, and not 100% convinced this is the complete story, but it seems to be best fit at the moment.
So guess I'll start using chrome!