Smarty question

I’m trying to figure out where I need to locate the .php and .tpl files within cs-cart.

So I have some custom pages test.php and test.tpl and want to display then on certain category pages. I edited categories.tpl, it this seems to include the test.tpl file fine, but it does not return the variables from text.php.

{if $category_data.category_id == 5320} {* Category: Ink & Toner Finder *}
{include file="custom/test.tpl"} {* //Add custom page here *}
normal code here

I have these test files taken from

file: /skins/basic/customer/custom/test.tpl

User Information:

Name: {$name}

Address: {$address}

But my results have only

file: /skins/basic/customer/custom/test.php

$smarty->assign('name', 'george smith');
$smarty->assign('address', '45th & Harris');

// display it

So when I click on the appropriate category my results are

User Information:



So I guess my test.php is not being found. What directory does the test.php file need to be?

I tried /include/customer/test.php and I edited it to test.php with $smarty->display(‘custom/test.tpl’);

And that didn’t work either. Thanks for your assistance.

  1. Put your test.php file into the “include/customer” directory.

  2. In the file change


3. In your “targets” directory, make a new “test.php” file with this code:

if ( !defined('IN_CSCART') ) { die('Access denied'); }

if (AREA == 'C') {
include CUSTOMER_DIR . 'test.php';
4. In your “config.php” file


'graph' => TARGETS_DIR . 'graph.php',

'test' => TARGETS_DIR . 'test.php',
5. If you haven’t already create a “custom_templates” directory in your “SKIN/customer/” directory.

6. Put your “test.tpl” there.

7. In your “content.tpl”


{elseif $content == "product_details"}
{include file="products_pages/product_details.tpl"}

{elseif $content == "test"}
{include file="custom_templates/test.tpl"}
8. Your new page is at "

I hope this makes sense.

Thanks a million for that, I can’t tell you how much this helped me out. I would have not been able to figure this out on my own with my reverse engineering techniques alone.

I make all your well written changes, so as to integrate my application, but now I look at my application, I realize it’s going to take some work to separate my php from my html. I guess I’ll be on the smarty site quite a bit.

I do realize that is the best way to do it, but I was wondering if could just do this in the mean time. I now the page works it I hit it directly, but if I do this

{if $category_data.category_id == 5320}
{include file="/myphpapp.php"}

It fails with this kind of error (kind of hard to debut)

Parse error: syntax error, unexpected '=' in /home/topoffic/public_html/var/compiled/customer/%%46^46D^46D5FAC3%%categories.tpl.php on line 9

Thanks again

if you are doing {php} then in the include you don’t need the ‘file=’ if you are trying to use smarty to include the file, then you don’t need the {php} tags

Yeah, you would simply need to do this:

{if $category_data.category_id == 5320}
include "/myphpapp.php";

Because the part between {php} and {/php} is supposed to be php code.