X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing design (https://forum.x-cart.com/forumdisplay.php?f=51)
-   -   Help Requested on Great Deals Mod (https://forum.x-cart.com/showthread.php?t=24334)

salsabeel 08-24-2006 03:44 AM

Help Requested on Great Deals Mod
 
Hello everyone,

I am trying to create a custom mod for Great Deals that will work similar to the Featured Products mod for X-Cart. In order to select Great Deals from all products in the database and save it in a new table in the database, I called it great_products. This table is like featured_products. In featured products we select the product to mark as featured from the admin area. There is no problem with me for this step because I can save the product into great_products table by SQL code. The problem is when I want to show these products in our site like we do with featured products.

Below are the steps I have done.

1. Create great_products table by using the following SQL code:

Code:

CREATE TABLE `xcart_great_products` (
  `productid` int(11) NOT NULL default '0',
  `categoryid` int(11) NOT NULL default '0',
  `product_order` int(11) NOT NULL default '0',
  `avail` char(1) NOT NULL default 'Y',
  PRIMARY KEY  (`productid`,`categoryid`),
  KEY `product_order` (`product_order`),
  KEY `avail` (`avail`),
  KEY `pacpo` (`productid`,`avail`,`categoryid`,`product_order`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


2. Insert some products into great_products table by using the following SQL code:

Code:

INSERT INTO `xcart_great_products` (`productid`, `categoryid`, `product_order`, `avail`)VALUES (154, 0, 50, 'Y'), (461, 0, 60, 'Y'), (480, 0, 80, 'Y');

3. Create a new template page (great.tpl) in skin1/customer/main/

Code:

{capture name=dialog}
{if $g_products ne ""}
{if $total_pages gt 2}
<br>
{ include file="customer/main/navigation.tpl" }
{/if}
{include file="customer/main/products.tpl" products=$g_products featured="Y"}
{if $total_pages gt 2}
<br>
{ include file="customer/main/navigation.tpl" }
{/if}
{else}
{$lng.txt_no_featured}
{/if}
{/capture}


4. Create great_products.php

Code:

                      |
| All rights reserved.                                                        |
+-----------------------------------------------------------------------------+
| PLEASE READ  THE FULL TEXT OF SOFTWARE LICENSE AGREEMENT IN THE "COPYRIGHT" |
| FILE PROVIDED WITH THIS DISTRIBUTION. THE AGREEMENT TEXT IS ALSO AVAILABLE  |
| AT THE FOLLOWING URL: <a href="<a href="http://www.x-cart.com/license.php" target="_blank" onclick="return top.js.OpenExtLink

(window,event,this)">http://www.x-cart.com/license.php</a>" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
<a href="http://www.x-cart.com/license" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.x-cart.com/license</a>.php</a>

                    |
|                                                                            |
| THIS  AGREEMENT  EXPRESSES  THE  TERMS  AND CONDITIONS ON WHICH YOU MAY USE |
| THIS SOFTWARE  PROGRAM  AND  ASSOCIATED  DOCUMENTATION  THAT  RUSLAN  R. |
| FAZLIEV (hereinafter  referred to as "THE AUTHOR") IS FURNISHING  OR MAKING |
| AVAILABLE TO YOU WITH  THIS  AGREEMENT  (COLLECTIVELY,  THE  "SOFTWARE").  |
| PLEASE  REVIEW  THE  TERMS  AND  CONDITIONS  OF  THIS  LICENSE AGREEMENT |
| CAREFULLY  BEFORE  INSTALLING  OR  USING  THE  SOFTWARE.  BY INSTALLING, |
| COPYING  OR  OTHERWISE  USING  THE  SOFTWARE,  YOU  AND  YOUR  COMPANY |
| (COLLECTIVELY,  "YOU")  ARE  ACCEPTING  AND AGREEING  TO  THE TERMS OF THIS |
| LICENSE  AGREEMENT.  IF  YOU    ARE  NOT  WILLING  TO  BE  BOUND BY THIS |
| AGREEMENT, DO  NOT INSTALL OR USE THE SOFTWARE.  VARIOUS  COPYRIGHTS  AND |
| OTHER  INTELLECTUAL  PROPERTY  RIGHTS    PROTECT  THE  SOFTWARE.  THIS |
| AGREEMENT IS A LICENSE AGREEMENT THAT GIVES  YOU  LIMITED  RIGHTS  TO  USE |
| THE  SOFTWARE  AND  NOT  AN  AGREEMENT  FOR SALE OR FOR  TRANSFER OF TITLE.|
| THE AUTHOR RETAINS ALL RIGHTS NOT EXPRESSLY GRANTED BY THIS AGREEMENT.      |
|                                                                            |
| The Initial Developer of the Original Code is Ruslan R. Fazliev            |
| Portions created by Ruslan R. Fazliev are Copyright (C) 2001-2005          |
| Ruslan R. Fazliev. All Rights Reserved.                                    |
+-----------------------------------------------------------------------------+
\*****************************************************************************/

#
# $Id: great_products.php,v <a href="<a href="http://1.2.2.16" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://1.2.2.16</a>"

target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"><a href="http://1.2.2.16" target="_blank" onclick="return top.js.OpenExtLink

(window,event,this)">1.2.2.16
</a></a> 2005/07/11 07:23:06 max Exp $
#
# Get featured products data and store it into $f_products array
# Get new products data and store it into $new_products array
#

if ( !defined('XCART_START') ) { header("Location: home.php"); die("Access denied"); }

#
# Select from featured products table
#

$user_account['membership'] = !empty($user_account['membership'])?$user_account['membership']:"";

$old_search_data = $search_data["products"];
$old_mode = $mode;
$old_page = $page;

$search_data["products"] = array();
$search_data["products"]["forsale"] = "Y";
$search_data["products"]["sort_condition"] = "$sql_tbl[great_products].product_order";
$from_tbl[$sql_tbl['great_products']] = 1;
$search_condition = "$sql_tbl[products].productid=$sql_tbl[great_products].productid AND $sql_tbl[great_products].avail='Y' AND

$sql_tbl[great_products].categoryid='".intval($cat)."' AND ";

$REQUEST_METHOD = "GET";
$mode = "search";
include $xcart_dir."/include/search.php";

$search_data["products"] = $old_search_data;
x_session_save("search_data");
$mode = $old_mode;
$page = $old_page;


if (!empty($active_modules["Subscriptions"])) {
    include_once $xcart_dir."/modules/Subscriptions/subscription.php";
}
$smarty->clear_assign("products");

$smarty->assign("navigation_script","home.php?sort=$sort&sort_direction=$sort_direction");
$smarty->assign("g_products",$products);
$search_data = '';
$products = array();
unset($search_data, $products);
?>


4. In welcome.tpl, before:

Code:

{include file="customer/main/featured.tpl" f_products=$f_products}

I added:

Code:

{include file="customer/main/great.tpl" g_products=$g_products}

5. In home_main.tpl I added:

Code:

{elseif $main eq "catalog" and $current_category.category eq ""} {include file="customer/main/welcome.tpl" g_products=$g_products}

But there is an error or something missing. I don't know what because when I test these changes no great products is appear.

Any help that can be offered is greatly appreciated! If what I am asking is not clear just let me know and I will try to further explain. Thanks in advanced!

wjbrewer 08-24-2006 10:12 PM

Re: Help Requested on Great Deals Mod
 
Here are a few thing that I noticed, hopefully this will help you out.

1. The php file does not have any opening tag, and it also has javascript, which should go in the .tpl files.

2. You need to add a line of code to home.php that will include the great_products.php file. For example:

Code:

include "./great_products.php";

3. You will also need to add your table to the $sql_table array in config.php.

You will probably still have some errors, but this should at least get headed in the right direction. :D

salsabeel 08-26-2006 10:13 AM

Re: Help Requested on Great Deals Mod
 
wjbrewer - It's working perfect now. Thank you very much!


All times are GMT -8. The time now is 01:08 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.