If Statement for any page?
I am using if statements to add category specific code to my site, using:
{if cat eq '1'} code for category 1 page {elseif cat eq '2'} code for category 2 page etc.. {/if} I have 2 questions though: 1. How do you do the same for manufacturer, product and static pages? 2. I have roughly 15 categories and 25 manufacturers, so the code would be okay, i.e. not too long. But, my site has ~600 pages, so is there a more concise way of adding custom code to any and every URL? Thanks, |
Re: If Statement for any page?
Further details... the reason I ask is that I was going to add page specific special offers and additional information to my site in the sidebars. This would be an ongoing process, but I don't want to add 600 lines of if/elseif statements to my site.
|
Re: If Statement for any page?
One more issue, my if statements do not appear to work inside
{php} code... {if ...} code {elseif ...} code {/if} {/php} What am I doing wrong? I tried using the literal tags, but to no success. Thanks again, |
Re: If Statement for any page?
If every singl page will have its own different from the others offer you eithr have to do all the if/then lines or you can add extra field and use it for each product page to enter different value
Once you start with {php} in a template you have to use php syntax {php} code... if (whatever) { code } elseif (whatever) { code } else { code } {/php} |
Re: If Statement for any page?
Thanks, but I am still having problems with understanding the code. I have:
Code:
{php} I'm sure whatever I have done wrong is minor, but I can't fathom it. |
Re: If Statement for any page?
All of the code worked fine until I added the if/else part. Originally, the blog feed integration was the same on every page and that is what I am trying to change.
Thanks, |
Re: If Statement for any page?
Like I said - you can't use smarty syntax within php code and yet you are doing it (there is no "eq" in php)
Code:
{php} |
Re: If Statement for any page?
it is not recommended to use {php}{/php} in smarty template files. if is used, do not abuse of it.
|
Re: If Statement for any page?
Thanks for your help. I am a novice with php and mysql, so most of it looks foreign to me at the moment. The code was written by a third party and I just wanted to tweak it.
I tried the above, which doesn't crash the site like when I did it myself, but the feed is the same on both pages. I'm wondering if I need to declare the $cat variable before calling it (please excuse my terminology). p.s. categoryid no. 252 in my MySQL table is the all-in-one category, so I was hoping that page would show a different feed integration category. Thanks, |
Re: If Statement for any page?
Depends on the page you are calling this form $cat may not be defined at all
|
Re: If Statement for any page?
I think what I am trying to ask is how do you call a specific categoryid from the MySQL database in the simplest way in x-cart?
EDIT... I was replying to my own post, but you responded before I submitted and my response looks a bit rude, sorry about that, not intended. |
Re: If Statement for any page?
maybe this?
Code:
{if $cat eq "252"} |
Re: If Statement for any page?
Thanks Ashley. I will implement that.
My aim is to increase unique and relevant content on my x-cart category pages, by pulling in the most recent 3 blog articles from my wordpress blog feed for the same category, i.e. The most recent 3 article snippets from ".co.uk/blog/category/cat1/feed/" showing on ".co.uk/cat1" I want to do this on 20ish category pages and 30ish manufacturer pages, without adding loads of additional code. My last SEO company could not achieve this, so I am trying to do it myself. Do you think the method you suggested would be okay when applied to about 50 pages? I use GZIP, so I suppose it shouldn't increase page load times much at all, even if it does add lots of code. If you know a better method though, please let me know, Thanks, |
Re: If Statement for any page?
I would do it like this.
make a .tpl for each cat wit the cat id in the name so 252_feed.tpl the do it like this. {include file="customer/feeds/`$cat`_feed.tpl"} of course you need to make the customer/feed folder. then in your 252_feed.tpl file put your php code {php} require_once("simplepie.inc"); $feed = new SimplePie(); $feed->set_feed_url("http://www.promartsupplements.co.uk/...nes/?feed=rss2"); $feed->init(); // Limit the items to be shown $i = 0; foreach($feed->get_items() as $item) { if($i <= 2) { echo "<h3 style='font-size:14px;'><a style='color:#000; text-decoration:none; font-size:13px; font-family:Verdana,Arial,Helvetica,Sans-serif;' href='" . $item->get_permalink() . "'>" . $item->get_title() . "</a> </h3>"; echo "<p style='font-family:Verdana,Arial,Helvetica,Sans-serif; font-size:11px;'>" . substr($item->get_description(),0,180) . "...<a style='text-decoration:none; font-size:11px; font-family:Verdana,Arial,Helvetica,Sans-serif;' href='" . $item->get_permalink(). "'>[Read Article]</a></p>"; $i++; } } {/php} |
Re: If Statement for any page?
If this is for category pages then $cat will work - $cat holds the current category id. But you should put your code in include/categories.php and assign the result to smarty. Then you can use that smarty variable in a template to show the links
|
Re: If Statement for any page?
would you please tell up the details on how to add the code? Where should we put simplepie.inc? many thanks.
|
Re: If Statement for any page?
You can copy the inc file in include directory. In include/categories.php just before "?>" put
Code:
require_once $xcart_dir."/include/simplepie.inc"; Then use $new_feed in the template you want it to show Code:
|
Re: If Statement for any page?
i can not find categories.php under include category, i only find one under admin category. i am using x-cart 4.4.2 gold
|
Re: If Statement for any page?
There is no categories.php for 4.4.x, the replacement is common.php
|
Re: If Statement for any page?
Hi all,
I just wanted to say thanks for all the great information. It is slightly beyond my abilities at the moment, but I will come back to it as I learn, thanks again. |
All times are GMT -8. The time now is 01:30 PM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.