In my previous post I wrote about how you can reduce the time it takes to publish your Yahoo! Store; and how that trick does nothing for speeding up the editor itself. To make the editor more responsive, the ONCE operator is not the answer. What you need to do - besides of course optimizing your RTML code to make it more efficient - is to identify and turn off slow pieces of your RTML - but do it only in the editor.
As I mentioned in the previous post about speeding up store publishing, one of the most expensive or slowest pieces of RTML code you can have is a site-wide navigation bar, and especially cascading navigation bars, that not only reference the home page and its contents, but all of their contents as well. It is easy enough to turn off any piece of RTML code by using the WHEN operator. You can, for example, create a custom yes-no variable called "in-editor", and then take your existing site navigation and stuff it inside a WHEN @in-editor operator. This will do the trick, simply set in-editor to Yes while you are working in the editor, and set it to No before publishing.
There are two problems with this approach though: one, you have to manually do this all the time you are working in the editor, and two, you or someone at your organization might accidentally publish the store with that setting set to Yes. Then, your live site will end up with no navigation. So what to do?
With a little trick, instead of using a custom variable, let the editor tell you whether your code is running in the editor or not! Create the following template:
Once you have this template, use it instead of a custom variable to disable pieces of code in the editor like this:
There are many other ways to navigate your store besides using the store's navigation bar. You can use the "Contents" page in the Advanced Editor, or use the footer text links (if you have those), or breadcrumbs. Or, if you know the ID of the page you want to edit, you can erase the last piece (after the last / character) of the address in the browser's address box, and replace it with the page Id plus the .html extension. For example, if you want to go to the site map page, and the address in your editor's address bar looks like this (more or less):
http://us-f4-edit.store.yahoo.com/RT/NEWEDIT.storeid/d49f35bb5d6b/C7FwkAAB
then replace the bolded part with ind.html and hit Enter like this:
http://us-f4-edit.store.yahoo.com/RT/NEWEDIT.storeid/d49f35bb5d6b/ind.html
As I mentioned in the previous post about speeding up store publishing, one of the most expensive or slowest pieces of RTML code you can have is a site-wide navigation bar, and especially cascading navigation bars, that not only reference the home page and its contents, but all of their contents as well. It is easy enough to turn off any piece of RTML code by using the WHEN operator. You can, for example, create a custom yes-no variable called "in-editor", and then take your existing site navigation and stuff it inside a WHEN @in-editor operator. This will do the trick, simply set in-editor to Yes while you are working in the editor, and set it to No before publishing.
There are two problems with this approach though: one, you have to manually do this all the time you are working in the editor, and two, you or someone at your organization might accidentally publish the store with that setting set to Yes. Then, your live site will end up with no navigation. So what to do?
With a little trick, instead of using a custom variable, let the editor tell you whether your code is running in the editor or not! Create the following template:
is-editor
EQUALS value1 ACTION :show-order
value2 "norder.html"
Once you have this template, use it instead of a custom variable to disable pieces of code in the editor like this:
But how do I navigate?
WHEN NOT CALL :is-editor
... code you put here will only be enabled in the live site
... and disabled inside the editor
There are many other ways to navigate your store besides using the store's navigation bar. You can use the "Contents" page in the Advanced Editor, or use the footer text links (if you have those), or breadcrumbs. Or, if you know the ID of the page you want to edit, you can erase the last piece (after the last / character) of the address in the browser's address box, and replace it with the page Id plus the .html extension. For example, if you want to go to the site map page, and the address in your editor's address bar looks like this (more or less):
http://us-f4-edit.store.yahoo.com/RT/NEWEDIT.storeid/d49f35bb5d6b/C7FwkAAB
then replace the bolded part with ind.html and hit Enter like this:
http://us-f4-edit.store.yahoo.com/RT/NEWEDIT.storeid/d49f35bb5d6b/ind.html
Comments