-
I'm no expert with this contribution, but I think this is the first time someone has mentioned wanted to have checkbox attributes, and allow the customer to choose more than one option. I'm wondering if this is even possible with this?
What I would do, is just do it as a dropdown menu. Then if your customer wants to have both the 138 yard and the 140 yard, then they can just add one to the cart, then add the other to the cart.
-
Stock For Product With Different Attributes:
If I have a product that has 5 attribtes and each attribute has between 12 and 20 values. Can I mark this product so it doesn't use this module? Right now if I leave no values on the attributes but I put in a quantity number on the product, when they add to cart it shows out of stock. It doesn't show out of stock on the product listing but when they add to cart it does.
There are hundreds of possible combinations on this that I just can't go through and set a quantity on each item.
Any ideas? Thanks.
-
Read back through the pages... someone else had the same situation and aparantly solved it.
- Steven
-
I have read the whole thread twice and can't find the answer to a question that was posed on page 5 and I have having the same problem. I get this message
1146 Table 'XXXXX.TABLE_PRODUCTS_WITH_ATTRIBUTES_STOCK' doesn't exist.
The table has been set up correctly under zen1_. So I don't know why it is looking for Table XXXXX.
Also, under Catalog I am getting BOX_CATALOG_PRODUCTS instead of Products with Attributes.
When I click on BOX_CATALOG_PRODUCTS I can only see one product in there, when there should be about 100. This is what I see:
1146 Table 'XXXXX.TABLE_PRODUCTS_WITH_ATTRIBUTES_STOCK' doesn't exist
Product ID Product Name Quantity of all variants Add Quantity For Product Variant Sync Quantities
41 Flower Pots 999 Add Quantity For Product Variant Sync Quantities
And because the table "does not exist" I am unable to do anything.
Can someone please point me in the right direction. Thanks heaps.
-
In the sql commands that you used, try again without any prefix.
-
I am not very familiar with MySQL so sorry I have to ask the question.
By prefix do you mean the
CREATE TABLE `[COLOR=red]zen[/COLOR=red]_products_with_attributes_stock` (
`stock_id` INT NOT NULL AUTO_INCREMENT ,
`products_id` INT NOT NULL ,
`stock_attributes` VARCHAR( 255 ) NOT NULL ,
`quantity` INT NOT NULL ,
PRIMARY KEY ( `stock_id` )
)
I remove the word zen. If so, I tried that and still the same problem.
-
That's right, but did you remove the _ too?
get rid of "zen_" not just "zen"
- Steven
-
I tried that, but surely setting up the table without the "zen-" it would not read from the other zen_ tables.
It did not work either.
Copy of catalog_dhtml.php
$za_contents = array();
$za_heading = array('text' => BOX_HEADING_CATALOG, 'link' => zen_href_link(FILENAME_ALT_NAV, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_CATEGORIES_PRODUCTS, 'link' => zen_href_link(FILENAME_CATEGORIES, '', 'NONSSL'));
// Edit
$za_contents[] = array('text' => BOX_CATALOG_PRODUCTS_WITH_ATTRIBUTES_STOCK, 'link' => zen_href_link(FILENAME_PRODUCTS_WITH_ATTRIBUTES_STOCK, '', 'NONSSL'));
// end edit
$za_contents[] = array('text' => BOX_CATALOG_PRODUCT_TYPES, 'link' => zen_href_link(FILENAME_PRODUCT_TYPES, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_PRODUCTS_PRICE_MANAGER, 'link' => zen_href_link(FILENAME_PRODUCTS_PRICE_MANAGER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_CATEGORIES_OPTIONS_NAME_MANAGER, 'link' => zen_href_link(FILENAME_OPTIONS_NAME_MANAGER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_CATEGORIES_OPTIONS_VALUES_MANAGER, 'link' => zen_href_link(FILENAME_OPTIONS_VALUES_MANAGER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_CATEGORIES_ATTRIBUTES_CONTROLLER, 'link' => zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_CATEGORIES_ATTRIBUTES_DOWNLOADS_MANAGER, 'link' => zen_href_link(FILENAME_DOWNLOADS_MANAGER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_PRODUCT_OPTIONS_NAME, 'link' => zen_href_link(FILENAME_PRODUCTS_OPTIONS_NAME, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_PRODUCT_OPTIONS_VALUES, 'link' => zen_href_link(FILENAME_PRODUCTS_OPTIONS_VALUES, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_MANUFACTURERS, 'link' => zen_href_link(FILENAME_MANUFACTURERS, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_REVIEWS, 'link' => zen_href_link(FILENAME_REVIEWS, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_SPECIALS, 'link' => zen_href_link(FILENAME_SPECIALS, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_FEATURED, 'link' => zen_href_link(FILENAME_FEATURED, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_SALEMAKER, 'link' => zen_href_link(FILENAME_SALEMAKER, '', 'NONSSL'));
$za_contents[] = array('text' => BOX_CATALOG_PRODUCTS_EXPECTED, 'link' => zen_href_link(FILENAME_PRODUCTS_EXPECTED, '', 'NONSSL'));
if ($za_dir = @dir(DIR_WS_BOXES . 'extra_boxes')) {
while ($zv_file = $za_dir->read()) {
if (preg_match('/catalog_dhtml.php$/', $zv_file)) {
require(DIR_WS_BOXES . 'extra_boxes/' . $zv_file);
}
}
}
?>
<!-- catalog //-->
<?php
echo zen_draw_admin_box($za_heading, $za_contents);
?>
<!-- catalog_eof //-->
Copy of database tables.php
// define the database table names used in the project
if (!defined('DB_PREFIX')) define('DB_PREFIX', '');
define('TABLE_ADDRESS_BOOK', DB_PREFIX . 'address_book');
define('TABLE_ADMIN', DB_PREFIX . 'admin');
define('TABLE_ADMIN_ACTIVITY_LOG', DB_PREFIX . 'admin_activity_log');
define('TABLE_ADDRESS_FORMAT', DB_PREFIX . 'address_format');
define('TABLE_AUTHORIZENET', DB_PREFIX . 'authorizenet');
define('TABLE_BANNERS', DB_PREFIX . 'banners');
define('TABLE_BANNERS_HISTORY', DB_PREFIX . 'banners_history');
define('TABLE_CATEGORIES', DB_PREFIX . 'categories');
define('TABLE_CATEGORIES_DESCRIPTION', DB_PREFIX . 'categories_description');
define('TABLE_CONFIGURATION', DB_PREFIX . 'configuration');
define('TABLE_CONFIGURATION_GROUP', DB_PREFIX . 'configuration_group');
define('TABLE_COUNTER', DB_PREFIX . 'counter');
define('TABLE_COUNTER_HISTORY', DB_PREFIX . 'counter_history');
define('TABLE_COUNTRIES', DB_PREFIX . 'countries');
define('TABLE_COUPON_GV_QUEUE', DB_PREFIX . 'coupon_gv_queue');
define('TABLE_COUPON_GV_CUSTOMER', DB_PREFIX . 'coupon_gv_customer');
define('TABLE_COUPON_EMAIL_TRACK', DB_PREFIX . 'coupon_email_track');
define('TABLE_COUPON_REDEEM_TRACK', DB_PREFIX . 'coupon_redeem_track');
define('TABLE_COUPON_RESTRICT', DB_PREFIX . 'coupon_restrict');
define('TABLE_COUPONS', DB_PREFIX . 'coupons');
define('TABLE_COUPONS_DESCRIPTION', DB_PREFIX . 'coupons_description');
define('TABLE_CURRENCIES', DB_PREFIX . 'currencies');
define('TABLE_CUSTOMERS', DB_PREFIX . 'customers');
define('TABLE_CUSTOMERS_BASKET', DB_PREFIX . 'customers_basket');
define('TABLE_CUSTOMERS_BASKET_ATTRIBUTES', DB_PREFIX . 'customers_basket_attributes');
define('TABLE_CUSTOMERS_INFO', DB_PREFIX . 'customers_info');
define('TABLE_DB_CACHE', DB_PREFIX . 'db_cache');
define('TABLE_EMAIL_ARCHIVE', DB_PREFIX . 'email_archive');
define('TABLE_FEATURED', DB_PREFIX . 'featured');
define('TABLE_FILES_UPLOADED', DB_PREFIX . 'files_uploaded');
define('TABLE_GROUP_PRICING', DB_PREFIX . 'group_pricing');
define('TABLE_GET_TERMS_TO_FILTER', DB_PREFIX . 'get_terms_to_filter');
define('TABLE_LANGUAGES', DB_PREFIX . 'languages');
define('TABLE_LAYOUT_BOXES', DB_PREFIX . 'layout_boxes');
define('TABLE_MANUFACTURERS', DB_PREFIX . 'manufacturers');
define('TABLE_MANUFACTURERS_INFO', DB_PREFIX . 'manufacturers_info');
define('TABLE_META_TAGS_PRODUCTS_DESCRIPTION', DB_PREFIX . 'meta_tags_products_description');
define('TABLE_NEWSLETTERS', DB_PREFIX . 'newsletters');
define('TABLE_ORDERS', DB_PREFIX . 'orders');
define('TABLE_ORDERS_PRODUCTS', DB_PREFIX . 'orders_products');
define('TABLE_ORDERS_PRODUCTS_ATTRIBUTES', DB_PREFIX . 'orders_products_attributes');
define('TABLE_ORDERS_PRODUCTS_DOWNLOAD', DB_PREFIX . 'orders_products_download');
define('TABLE_ORDERS_STATUS', DB_PREFIX . 'orders_status');
define('TABLE_ORDERS_STATUS_HISTORY', DB_PREFIX . 'orders_status_history');
define('TABLE_ORDERS_TYPE', DB_PREFIX . 'orders_type');
define('TABLE_ORDERS_TOTAL', DB_PREFIX . 'orders_total');
define('TABLE_PAYPAL', DB_PREFIX . 'paypal');
define('TABLE_PAYPAL_SESSION', DB_PREFIX . 'paypal_session');
define('TABLE_PAYPAL_PAYMENT_STATUS', DB_PREFIX . 'paypal_payment_status');
define('TABLE_PAYPAL_PAYMENT_STATUS_HISTORY', DB_PREFIX . 'paypal_payment_status_history');
define('TABLE_PRODUCTS', DB_PREFIX . 'products');
define('TABLE_PRODUCT_TYPES', DB_PREFIX . 'product_types');
define('TABLE_PRODUCT_TYPE_LAYOUT', DB_PREFIX . 'product_type_layout');
define('TABLE_PRODUCT_TYPES_TO_CATEGORY', DB_PREFIX . 'product_types_to_category');
define('TABLE_PRODUCTS_ATTRIBUTES', DB_PREFIX . 'products_attributes');
define('TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD', DB_PREFIX . 'products_attributes_download');
define('TABLE_PRODUCTS_DESCRIPTION', DB_PREFIX . 'products_description');
define('TABLE_PRODUCTS_DISCOUNT_QUANTITY', DB_PREFIX . 'products_discount_quantity');
define('TABLE_PRODUCTS_NOTIFICATIONS', DB_PREFIX . 'products_notifications');
define('TABLE_PRODUCTS_OPTIONS', DB_PREFIX . 'products_options');
define('TABLE_PRODUCTS_OPTIONS_VALUES', DB_PREFIX . 'products_options_values');
define('TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS', DB_PREFIX . 'products_options_values_to_products_options');
define('TABLE_PRODUCTS_OPTIONS_TYPES', DB_PREFIX . 'products_options_types');
define('TABLE_PRODUCTS_TO_CATEGORIES', DB_PREFIX . 'products_to_categories');
define('TABLE_PROJECT_VERSION', DB_PREFIX . 'project_version');
define('TABLE_PROJECT_VERSION_HISTORY', DB_PREFIX . 'project_version_history');
define('TABLE_QUERY_BUILDER', DB_PREFIX . 'query_builder');
define('TABLE_REVIEWS', DB_PREFIX . 'reviews');
define('TABLE_REVIEWS_DESCRIPTION', DB_PREFIX . 'reviews_description');
define('TABLE_SALEMAKER_SALES', DB_PREFIX . 'salemaker_sales');
define('TABLE_SESSIONS', DB_PREFIX . 'sessions');
define('TABLE_SPECIALS', DB_PREFIX . 'specials');
define('TABLE_TEMPLATE_SELECT', DB_PREFIX . 'template_select');
define('TABLE_TAX_CLASS', DB_PREFIX . 'tax_class');
define('TABLE_TAX_RATES', DB_PREFIX . 'tax_rates');
define('TABLE_GEO_ZONES', DB_PREFIX . 'geo_zones');
define('TABLE_ZONES_TO_GEO_ZONES', DB_PREFIX . 'zones_to_geo_zones');
define('TABLE_UPGRADE_EXCEPTIONS', DB_PREFIX . 'upgrade_exceptions');
define('TABLE_WISHLIST', DB_PREFIX . 'customers_wishlist');
define('TABLE_WHOS_ONLINE', DB_PREFIX . 'whos_online');
define('TABLE_ZONES', DB_PREFIX . 'zones');
define('TABLE_PRODUCTS_WITH_ATTRIBUTES_STOCK', DB_PREFIX . 'products_with_attributes_stock');
?>
-
ginar,
I had the exact same problem you are having. I went back to the mysql panel from my server and I changed the create table from:
CREATE TABLE `zen_products_with_attributes_stock` (
`stock_id` INT NOT NULL AUTO_INCREMENT ,
`products_id` INT NOT NULL ,
`stock_attributes` VARCHAR( 255 ) NOT NULL ,
`quantity` INT NOT NULL ,
PRIMARY KEY ( `stock_id` )
)
to exactly what my error message said it couldn't find, in your case:
1146 Table 'XXXXX.TABLE_PRODUCTS_WITH_ATTRIBUTES_STOCK' doesn't exist.
So I changed my create table to:
CREATE TABLE `TABLE_PRODUCTS_WITH_ATTRIBUTES_STOCK` (
`stock_id` INT NOT NULL AUTO_INCREMENT ,
`products_id` INT NOT NULL ,
`stock_attributes` VARCHAR( 255 ) NOT NULL ,
`quantity` INT NOT NULL ,
PRIMARY KEY ( `stock_id` )
)
I used ALL CAPITAL letters just like my error message. I don't know if it is case sensitive or not but when I deleted the previous table I created and then re-created the new one it started working fine for me.
Hope this helps
-
I read through the whole thread and found two entries about this same question:
=====================
Just wanted to see if anyone has a suggestion for a case where I have certain products of unlimited quantity with about 200 attributes. It's a candle site and the candles are made to order so we don't need to list a quantity for each scent - it is unlimited. I don't really want to create a new entry for each one with quantity of 1,000,000 or something. Seems like there's got to be a way to have it ignore stock for certain items/attributes. Any thoughts?
I had a similar problem. There were some attributes I did not want to include in my stock count for certain products and there were products I just did not track stock for since they were always available.
I modifed the contrib so that it only includes the attributes that you want for the products that you want.
You can control this behavior through the attributes control panel. I basically added a switch in the panel to either include the attribute in the stock count or ignore it. (Trying to see if there is a way to control the count here too.)
I did have to modfiy some core functions to do this however, but it works like a champ. I am working on packaging it into soemthing readable as it is a lot of hacked code at this point.
As soon as it is ready I will post a link to download.
======================
And
======================
hmmm... if I added this mod to my doorknobs site how long would it take to enter all the possible product combinations?
Take one product for example: a simple doorknob set can have:
1 of 4 functions
1 of 2 backsets
1 of 2 door handings
1 of 15 outside finishes
1 of 15 inside finishes
1 of 36 outside knobs/levers
1 of 36 inside knobs/levers
1 of 12 rosettes on outside
1 of 12 rosettes on inside
too many choices to figure out on my fingers, but the trusty old calculator says that's a total of 671,846,400 possible combinations. Damn good thing they're made to order: I wouldn't want to have even one of each possible combination in stock...
=========================
That was a long read! 40+ pages. Neither of these posts really help me or tell me how to fix the problem I have with the product with multiple 5 attributes with 12-20 values in each. Is there a way to just tell that product not to use this contrib?
Any additions to these? Thanks.