@ lebrand2006:
Could you please initiate a new thread for your "feature" and if you feel it is ready for prime time submit your contribution to the Downloads area. Let's please keep this thread focused on TPL v3.8. Thanks.
Woody
Printable View
Ok. I finally had a chance to check it out. It seems to be working fine for me
http://www.unbannable.com/zen/index....&products_id=2
the code i used is
Code:<!--%Product Description%-->
blahblahblah
<!--%Custom Tab%-->
This is another fun tab. Party on Wayne. Also I got the attribs here.
<!--%Attribs%-->
<!--*sub_AttributeOptions(3)*-->
<!--*sub_CustomersAlsoPurchased(2)*-->
<!--*sub_CrossSell(4)*-->
<!--#Reviews#-->
<!--@EndTabs@-->
Here is another item with text below the Tabs
HELP! I added your code (above) but I am still getting the Attributes on both the 'Product Description' tab and the 'Attributes' tab! What am I doing wrong? Here is the page: http://www.horse-logos.com/arab-flag...-clip-p-6.html
Hi Guys, Im wondering if someone can help.
Ive installed this mod (admin version) and its my understanding (which is limited) that i should be able to automatically get an add to cart tab, a product description tab etc
however i get a product description tab, with the description and the buy options, cart button, attributes etc I thought these were automatically separated using the admin controls ?
which by the way are:
TitleValue Global Product Description Tab1 Global Main Image On Tab1 Global Add To Cart Tab1 Global Additional Images Tab1 Global Customers Also Purchased Tab1 Global Media Collection Tab0 Cross Sell Is Installed0 Global Cross Sell Tab0 Show Tab Headers1 Show Tab Headers when Javascript is Off1 Global Reviews Tab1 Global Use Sub Tags0
I managed to get them on separate tabs using custom tabs but then i get two product descriptios tabs one with the 'description' and one with all the cart stuff in?
Any ideas what ive done wrong ?
Hi knighs.
The "Global Add to Cart" is a very strict button with some extra smart (or over done) coding. Globally, I didn't add a method to make Add-to-cart its own tab. If you read the properties of the Global Add to Cart button in the admin where you set it to true or false:
====Global Add To Cart Tab
Set this to 1 if you want the add to cart button on a tab. Note this includes Add To Cart, Qty Discounts, and Option Attributes. The add to cart option will add itself to the first tab if using any custom tabs, otherwise it will make its own tab, which will be the first tab. This keeps the Add to cart button in view at all times no matter the configuration====
So if you set this to 1, it will put the add to cart stuff on the first custom tab. If you have Global Products Description on, that is a custom tab so the add to cart will be on there. If you don't use global prod description and don't have any custom tabs, then the add to cart button will make its own tab as the first tab.
It was done this way to ensure that customers could always see the add to cart button because you usually want customers to have to quickest way to add a product to their cart.
If you want a separate Add to cart button and Custom tabs, currently the only way is to use the sub tab tags and specify which tab you want it on.
Thanks for that. I kinda got it to work.Quote:
Hi knighs.
The "Global Add to Cart" is a very strict button with some extra smart (or over done) coding. Globally, I didn't add a method to make Add-to-cart its own tab. If you read the properties of the Global Add to Cart button in the admin where you set it to true or false:
Is there anyway i can change the hard code so that if i have global options on it creates the tabs i require. basically I want and ADD to cart tab always first then a product description second followed by some of the other options and then customs ones.
If its not that simple do do code wise how much might it cost to have an amended version made ?
Thanks
Shane
Hi. I don't think it would be too hard. I have been meaning to go rewire some of the way tabbed lite works. I'm just not sure if I should just make it its own product_type layout instead of manipulated it for existing products. Mainly the problem is that at this point, zc doesn't natively support changing the product type code from with the admin area, so its not easy to change from product_general to product_music or in this case product_tabbed. So I think for now I will stick to the data manipulation. But I'd like to implement a sorting order so that tabs can be ordered in custom ways easily.
Let me take a look at what I can do with it. It might get to be a bit heavier than "Lite" so I might just make a separate "Tabbed Products Not-so-lite" :)
That would be great. Keep me posted :-)Quote:
Let me take a look at what I can do with it. It might get to be a bit heavier than "Lite" so I might just make a separate "Tabbed Products Not-so-lite" :)
If what im after isnt particually what others may want let me know direct by email and ill pat for a specially configured one !
Im lazy i dont want to put bits of code in every product i add as they will all need the same ie Add to cart, description, others youve got and then maybe custom ones if i need them.
Thanks
Shane
I have a lot of attributes for most of my graphic products and I want to be able to use Tabbed Products LITE to put the attributes on a tab other than the product description tab. So far I just cannot seem to get this done. Can anyone help me with this? Has anyone else gotten the attributes to show up ONLY on a Attributes tab and not also on the Product's description tab? Thanks for any help.
Please check the coding of this page...
http://www.horse-logos.com/arab-flag...-clip-p-6.html
I figured out what the problem is. Try turning off "Global Add to cart" or if you are using an add to cart tag in the individual product, remove it. See if that works. I see that I am overriding the options with the add to cart option. Originally I always grouped the add-to-cart button with the attribs. So when you have add to cart button enabled to be inside the tabs, i is also making a copy of the attribs with it.
Oh no! Now I messed it up again. I wanted to put the tab name as: "Attributes/Options" but now I have the attributes on two tabs again. Is there a way I can make the tab read: "Attributes/Options" and have the attributes listed only there?
Here is the coding I have now:
<!--%Product Description%-->
<p>Arabian horse clip art set. A high trotting Arab horse graphic in three different colors with matching web background images. The colored clip art images for web use have a white background and should be displayed on white. NOTE: No watermark text on delivered files.</p><p>Click on image to view set and actual size of web quality images.</p>
<p><strong>Instant Delivery:</strong> After purchase you will be able to download the zip files directly to your computer.</p><p>Web quality equine clip art images can be displayed in your outgoing emails or web pages. Print quality image files can be inserted into Microsoft Word, PhotoShop, or any other art or page layout word program you have for designs, like - newsletters, stationery, fliers, gift cards, scrapbooking, etc...</p>
<p><strong>Not for resale in digital format. Please read the <a href="http://www.horse-logos.com/index.php?main_page=conditions">Conditions of Use</a> page.</strong>
</p><p>All horse art images are copyrighted by Joni Solis - Horse-Logos.com</p>
<!--%Attributes/Options%-->
<!--*sub_Attributes/Options(3)*-->
<!--*sub_CustomersAlsoPurchased(2)*-->
<!--*sub_CrossSell(4)*-->
<!--#Reviews#-->
<!--@EndTabs@-->
You don't change the name of the tag. Just the name of the custom tab. The code doesn't know what sub_Attributes/Options is. You can call the tab whatever you like but don't change the name of the tag and you should be fine. Also you only have 3 tabs now, so if you want attribs on the custom Attribs/Options tab you made, you need to change the sub_AttributeOptions(3) to (2) Unless you are putting other custom tabs there first.
OK, I think I starting to understand better.
I put in the following code:
<!--%Product Description%-->
<p>Arabian horse clip art set. A high trotting Arab horse graphic in three different colors with matching web background images. The colored clip art images for web use have a white background and should be displayed on white. NOTE: No watermark text on delivered files.</p><p>Click on image to view set and actual size of web quality images.</p>
<p><strong>Instant Delivery:</strong> After purchase you will be able to download the zip files directly to your computer.</p><p>Web quality equine clip art images can be displayed in your outgoing emails or web pages. Print quality image files can be inserted into Microsoft Word, PhotoShop, or any other art or page layout word program you have for designs, like - newsletters, stationery, fliers, gift cards, scrapbooking, etc...</p>
<p><strong>Not for resale in digital format. Please read the <a href="http://www.horse-logos.com/index.php?main_page=conditions">Conditions of Use</a> page.</strong>
</p><p>All horse art images are copyrighted by Joni Solis - Horse-Logos.com</p>
<!--%Attributes/Options%-->
<!--*sub_AttributeOptions(2)*-->
<!--*sub_CustomersAlsoPurchased(3)*-->
<!--*sub_CrossSell(4)*-->
<!--#Reviews#-->
<!--@EndTabs@-->
----------------
All looks good now. Thanks!
sub_CrossSell(4) will only work if you have an existing 4th tab. I had thought about making is auto-create the tab if it didn't exist but changed my mind. If you want CrossSell to always be its own tab then use the Global Cross Sell option or use <!--#CrossSell#--> in the product code.
Hi,
I have copied all the files as required to my custom template folder, but received the following error on the SQL install:
1146 Table 'zencart.configuration_group' doesn't exist.
Which I was able to resolve by adding my database prefix, I then re-attempted the upload of the SQL via Admin->Tools->Install SQL Patches. I then received this message:
1054 Unknown column 'configuration_group_id' in 'field list'
I checked for this column and it does exist in the database. Fearing the SQL patch tool may be amiss, I Ran the SQL via the stored procedure interface in MSQL Admin.
The result is I now Have the Tabbed Products option under My Configuration, but that is all that show. There are no options other than the pull down title and My products detail page no longer displays. This is a store I am building here locally before uploading to a host. The only mods I am running are Sidebox mods.
The specs are:
- PHP Version 5.2.2
- Mysql 5.0.37
- Apache 2.0
Thanks in advance,
Metauniverse
Disregard my previous post. I was able to solve my problem.
Thanks,
Metauniverse
Hi,
I am looking for help in customizing my cart. I want to re-position the add to cart and item price. What kind of changes needed ? is it possible to do ?
I am not great in coding but with guidance I maybe able to do so. :smartalec:
There many good people here in this forum :smile:
Thanks for your help.
Hi Qhome,
Thankyou for this. It is people like zen cart and you that make dreams possible.
Thankyou for sharing, maybe one day I can do the same.
I solved the problem by adding the prefix in the proper place of the sql:
SELECT @gid := configuration_group_id FROM `configuration_group` where `configuration_group_title` LIKE 'Tabbed Products Config';
`xxx.configuration_group` <- this needs to be changed.
where of course XXX is your prefix of database tables.
I know this was posted before, but it was not clear to me as it was posted, so I added the prefix to all tables in the select statement(which was wrong). After examining the SQL logic for a while, the previous posts made sense.
Thank you,
Metauniverse
I think owner should add this as note into the instruction. I too was stucked there. then it tool little while what was going wrong with the SQL.
Owner of this mod. pls include this instruction into readme file.
Well the odd thing is that on both of my test databases, one with prefix and one without prefix, the included sql file works fine. I'm trying to find a better way of doing it but its more of a logistics problem with the way configuration_ids are dynamically assigned.
Thats good to hear. We are sure that you have great ideas, just that little info will save ppl like me :smartalec:
Wish you a great day ahead !
Just found out about this mod recently and love it!
I'm in the process of modifying the look, and needed some help.
How do I remove the Product Description Header?
How do I put the product attributes and add to cart INSIDE the tab content container table?
I've been trying to play around with the code, but I keep getting a Syntax Error.
Any help would be great!
Yay, thanks!
Is there a way for the add to cart and attributes to be displayed on all the tabs? It's currently being shown only in the Product Description tab.
There can never be more than one copy of anything, other wise it wouldn't work. If you want to show the stuff on every tab, then there is no point to even having those objects on the tab. The same effect can be acheived by leaving them off the tabs at the bottom or top of the tab container so they are always visible.
Yeah, I just wanted to put the add to cart and attributes inside the tabcontainer purely for design purposes (so that the table border of the tabcontainer will also include the attributes and add to cart)
Hi There,
I am using combination discounts and have been trying to get the marketing code (desplay) to show within the tabs. So far I can only get it to apear outside of the tabs. Where ever i place the code ie under product name or under the attributes etc it will not show up only when its out of the tabs area.
Below is the code. Any idea how i can get this to show on the tab ?
Thanks
Shane
<?php $value = "ot_combination_discounts.php"; include_once(zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/order_total/', $value, 'false')); include_once(DIR_WS_MODULES . "order_total/" . $value); $discount = new ot_combination_discounts(); echo '<div class="content" id="combinationDiscountPolicy">'; $resp = $discount->get_discount_info($_GET['products_id'], $current_category_id); for ($i=0, $n=count($resp); $i<$n; $i++) { echo $resp[$i] . "<br />"; } echo '</div>'; // "reverse" discount logic echo '<div class="content" id="combinationDiscountPolicyReverse">'; $resp = $discount->get_reverse_discount_info($_GET['products_id'], $current_category_id); for ($i=0, $n=count($resp); $i<$n; $i++) { echo $resp[$i] . "<br />"; } echo '<br /></div>'; echo '<br class="clearBoth" />'; ?>
Hi, is there anyway i can have a scroll bar in one of my tabs? My first tab is product description, and one of my descriptions for my product is really long and trails down really far. I would like to put a scroll in my tab but dont know the html for it?
Also, even when i turn off global additional images, it still puts the additional images in a tab, how can i stop this?
Help would be greatly appreciated. :smile:
*site contains adult content*
http://www.twistedtaboo.co.uk/store/...roducts_id=218
this is a link to the page. As you can see, the additional image is in the tab even though it is turned to off. I wanted to integrate swap images in mouseover into my site, and so didnt want the images in the tabs. Although now after uploading the files for it to my server, it seems more trouble than it is worth!! So probably gona scrap it anyway. Would still like a solution for this problem though if possible?
Can this work with ZenMagick also?
it would appear that you have either global additional images enabled, or a tag in the description. Verify that you have a "Configuration->Tabbed Products Config" area in your admin section with 12 config settings. Set the Global Additional Images on Tab to 0
Yes and No. To understand why, let me explain a bit more what ZenMagick is (as there is obviously still need for clarification).
ZenMagick consists of two main blocks:
1) A object oriented API on top of the zen-cart database.
This is basically a collection of PHP classes that can be used to code things like this:
Of course, there are much more methods to access nearly all data on products, accounts, addresses, the shoppingcart, etc.Code:$productService = new ZMProducts();
$product = $productService->getProductForId(3);
echo $product->getName();
Code like that above can be added anywhere in your code. This includes templates, header files, etc.
2) An alternative templating (themes) system.
This is a fully blown MVC (model-view-controller) based architecture that implements nearly all zen-cart templates files using the ZenMagick API.
There are quite some advantages:
* Clean template code (no SQL)
* Full control over the generated HTML - all HTML can be customized without touching any ZenMagick or zen-cart files.
* File based page caching
* Simple validation framework where both client side (JavaScript) and server side validation share a common configuration
* Easy to extend
* Plugin architecture (not finished yet :)
* For more check the ZenMagick website and/or the ZenMagick Blog.
It is possible to use the API and some of the other features together with zen-cart templates. That means you can keep your existing templates, but build additional features using the ZenMagick API. In that case the mod will work together with ZenMagick.
If using the ZenMagick theme code, though, mods that include zen-cart template files will not work. Pure admin mods are not affected.
Hope this helps,
Cheers, mano
thats the thing, i havent got the global additional tabs set to on. ive toggled between on and off and it still shows inside the tabs. i havent added it as a tag in the description either. in " includes/templates/example_template/templates/template_product_info_display.php however, there is this code "<!--bof Additional Product Images -->
<?php if (!$bAdditionalImages && !$bsubtab_AdditionalImages) {
require($template->get_template_dir('/tpl_modules_additional_images.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_additional_images.php');
}?>
<!--eof Additional Product Images -->
i dont know whether this is affecting it. i removed it however temporarily and the tab was still there.... there seems to be no way to get rid of it!!
Thanks for your quick reply, DerManoMann.
I think I will move on without zenmagick and focus on more important features and mods that will play nicer together. But if I run into instance where the ZenMagick API can help I still may consider it. I think its main appeal to me was maybe a better layout template to work with but I am well versed in coding layouts so it is fine to move on without it.
I've just retested it on my demo site and it seems to be working fine. Deleting that code won't take it out of the tab. It will prevent it from showing outside of the tab when disabled.
Also be sure that you aren't using the "NON-ADMIN EDITION" version of the modules/tabbed_products_lite.php file, as that will ignore the database settings and use the file based settings in that file. It seems that either that is the case, or that the syn names aren't matching up to the database names.
Technically I'm using:
if (!$bAdditionalImages && !$bsubtab_AdditionalImages) .
I probably should be using:
if ($iAdditionalImages == "1" && !$bsubtab_AdditionalImages)
It really only matters in cases like this where things aren't matching up.
I will take a look at improving that in the next version I'm working on. But it shouldn't cause any problems if the names line up.
I may take a look at how it all works together in the near future
ive reuploaded the admin file, instead of the non admin one, and it is still doing the same thing, so i couldnt of had the wrong file uploaded. should i change the code as you have suggested? will that fix it?
That's fine. Good luck with that. One of the main reasons for the alternative theme code is that it actually lets you customise all HTML, which you might actually appreciate if you want to implement more sophisticated designs. (.. but I might have said that already :)
mano
Hi,
I have just installed v3.8 and everything works perfect. One thing I cannot figure out - how to wrap the description text around the image - like on your example
http://www.unbannable.com/zen/index....&products_id=1
I guess, there should float:left somewhere in the CSS...
What should I change to wrap the text?
Thanks
A
I have found a solution: commenting line 215 of tpl_tabbed_products_lite.php, i.e
<!--<br class="clearBoth" />-->
made the trick.
I've got some other mods installed, and I would love to install Tabbed Products Lite, but I am a little worried about correctly merging changes to the tpl_product_info_display.php template correctly.
Here is what my file currently looks like. What should the merged one look like?
Code:<?php
/**
* Page Template
*
* Loaded automatically by index.php?main_page=product_info.<br />
* Displays details of a typical product
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: tpl_product_info_display.php 5369 2006-12-23 10:55:52Z drbyte $
*/
//require(DIR_WS_MODULES . '/debug_blocks/product_info_prices.php');
?>
<div class="centerColumn" id="productGeneral">
<!--bof Form start-->
<?php echo zen_draw_form('cart_quantity', zen_href_link(zen_get_info_page($_GET['products_id']), zen_get_all_get_params(array('action')) . 'action=add_product'), 'post', 'enctype="multipart/form-data"') . "\n"; ?>
<!--eof Form start-->
<?php if ($messageStack->size('product_info') > 0) echo $messageStack->output('product_info'); ?>
<!--bof Category Icon -->
<?php if ($module_show_categories != 0) {?>
<?php
/**
* display the category icons
*/
require($template->get_template_dir('/tpl_modules_category_icon_display.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_category_icon_display.php'); ?>
<?php } ?>
<!--eof Category Icon -->
<!--bof Prev/Next top position -->
<?php if (PRODUCT_INFO_PREVIOUS_NEXT == 1 or PRODUCT_INFO_PREVIOUS_NEXT == 3) { ?>
<?php
/**
* display the product previous/next helper
*/
require($template->get_template_dir('/tpl_products_next_previous.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_products_next_previous.php'); ?>
<?php } ?>
<!--eof Prev/Next top position-->
<!--bof Main Product Image -->
<?php
if (zen_not_null($products_image)) {
?>
<?php
/**
* display the main product image
*/
require($template->get_template_dir('/tpl_modules_main_product_image.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_main_product_image.php'); ?>
<?php
}
?>
<!--eof Main Product Image-->
<!--bof Product Name-->
<h1 id="productName" class="productGeneral"><?php echo $products_name; ?></h1>
<!--eof Product Name-->
<!--bof Product Price block -->
<h2 id="productPrices" class="productGeneral">
<?php
// base price
if ($show_onetime_charges_description == 'true') {
$one_time = '<span >' . TEXT_ONETIME_CHARGE_SYMBOL . TEXT_ONETIME_CHARGE_DESCRIPTION . '</span><br />';
} else {
$one_time = '';
}
echo $one_time . ((zen_has_product_attributes_values((int)$_GET['products_id']) and $flag_show_product_info_starting_at == 1) ? TEXT_BASE_PRICE : '') . zen_get_products_display_price((int)$_GET['products_id']);
?></h2>
<!--eof Product Price block -->
<!--bof free ship icon -->
<?php if(zen_get_product_is_always_free_shipping($products_id_current) && $flag_show_product_info_free_shipping) { ?>
<div id="freeShippingIcon"><?php echo TEXT_PRODUCT_FREE_SHIPPING_ICON; ?></div>
<?php } ?>
<!--eof free ship icon -->
<!--bof Product description -->
<?php if ($products_description != '') { ?>
<div id="productDescription" class="productGeneral biggerText"><?php echo stripslashes($products_description); ?></div>
<?php } ?>
<!--eof Product description -->
<br class="clearBoth" />
<?php
$value = "ot_better_together.php";
include(zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] .
'/modules/order_total/', $value, 'false'));
include(DIR_WS_MODULES . "order_total/" . $value);
$discount = new ot_better_together();
echo '<div class="content" id="discountPolicy">';
$resp = $discount->get_discount_info($_GET['products_id'], $current_category_id);
for ($i=0, $n=count($resp); $i<$n; $i++) {
echo $resp[$i] . "<br />";
}
echo '</div>';
// Now the reverse info (new in 1.3)
echo '<div class="content" id="discountPolicyReverse">';
$resp = $discount->get_reverse_discount_info($_GET['products_id'], $current_category_id);
for ($i=0, $n=count($resp); $i<$n; $i++) {
echo $resp[$i] . "<br />";
}
echo '<br /></div>';
echo '<br class="clearBoth" />';
?>
<!--bof Add to Cart Box -->
<?php
if (CUSTOMERS_APPROVAL == 3 and TEXT_LOGIN_FOR_PRICE_BUTTON_REPLACE_SHOWROOM == '') {
// do nothing
} else {
?>
<?php
$display_qty = (($flag_show_product_info_in_cart_qty == 1 and $_SESSION['cart']->in_cart($_GET['products_id'])) ? '<p>' . PRODUCTS_ORDER_QTY_TEXT_IN_CART . $_SESSION['cart']->get_quantity($_GET['products_id']) . '</p>' : '');
if ($products_qty_box_status == 0 or $products_quantity_order_max== 1) {
// hide the quantity box and default to 1
$the_button = '<input type="hidden" name="cart_quantity" value="1" />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
} else {
// show the quantity box
$the_button = PRODUCTS_ORDER_QTY_TEXT . '<input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($_GET['products_id'])) . '" maxlength="6" size="4" /><br />' . zen_get_products_quantity_min_units_display((int)$_GET['products_id']) . '<br />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
}
$display_button = zen_get_buy_now_button($_GET['products_id'], $the_button);
?>
<?php if ($display_qty != '' or $display_button != '') { ?>
<div id="cartAdd">
<?php
echo $display_qty;
echo $display_button;
?>
</div>
<?php } // display qty and button ?>
<?php } // CUSTOMERS_APPROVAL == 3 ?>
<!--eof Add to Cart Box-->
<!--bof Add to Wish List-->
<?php
// (un): start wishlist link
echo '<a href="' . zen_href_link(UN_FILENAME_WISHLIST, zen_get_all_get_params(array('action', 'products_id')) . 'products_id='.(int)$_GET['products_id'].'&action=un_add_wishlist') . '">' . UN_TEXT_ADD_WISHLIST . '</a>';
// (un): end wishlist link
?>
<!--eof Add to Wish List-->
<!--bof Product details list -->
<?php if ( (($flag_show_product_info_model == 1 and $products_model != '') or ($flag_show_product_info_weight == 1 and $products_weight !=0) or ($flag_show_product_info_quantity == 1) or ($flag_show_product_info_manufacturer == 1 and !empty($manufacturers_name))) ) { ?>
<ul id="productDetailsList" class="floatingBox back">
<?php echo (($flag_show_product_info_model == 1 and $products_model !='') ? '<li>' . TEXT_PRODUCT_MODEL . $products_model . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_weight == 1 and $products_weight !=0) ? '<li>' . TEXT_PRODUCT_WEIGHT . $products_weight . TEXT_PRODUCT_WEIGHT_UNIT . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_quantity == 1) ? '<li>' . $products_quantity . TEXT_PRODUCT_QUANTITY . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_manufacturer == 1 and !empty($manufacturers_name)) ? '<li>' . TEXT_PRODUCT_MANUFACTURER . $manufacturers_name . '</li>' : '') . "\n"; ?>
</ul>
<br class="clearBoth" />
<?php
}
?>
<!--eof Product details list -->
<!--bof Attributes Module -->
<?php
if ($pr_attr->fields['total'] > 0) {
?>
<?php
/**
* display the product atributes
*/
require($template->get_template_dir('/tpl_modules_attributes.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_attributes.php'); ?>
<?php
}
?>
<!--eof Attributes Module -->
<!--bof Quantity Discounts table -->
<?php
if ($products_discount_type != 0) { ?>
<?php
/**
* display the products quantity discount
*/
require($template->get_template_dir('/tpl_modules_products_quantity_discounts.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_products_quantity_discounts.php'); ?>
<?php
}
?>
<!--eof Quantity Discounts table -->
<!--bof Additional Product Images -->
<?php
/**
* display the products additional images
*/
require($template->get_template_dir('/tpl_modules_additional_images.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_additional_images.php'); ?>
<!--eof Additional Product Images -->
<!--bof Prev/Next bottom position -->
<?php if (PRODUCT_INFO_PREVIOUS_NEXT == 2 or PRODUCT_INFO_PREVIOUS_NEXT == 3) { ?>
<?php
/**
* display the product previous/next helper
*/
require($template->get_template_dir('/tpl_products_next_previous.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_products_next_previous.php'); ?>
<?php } ?>
<!--eof Prev/Next bottom position -->
<!--bof also purchased products module-->
<?php require($template->get_template_dir('tpl_modules_also_purchased_products.php', DIR_WS_TEMPLATE, $current_page_base,'templates'). '/' . 'tpl_modules_also_purchased_products.php');?>
<!--eof also purchased products module-->
<!--bof Reviews button and count-->
<?php
if ($flag_show_product_info_reviews == 1) {
// if more than 0 reviews, then show reviews button; otherwise, show the "write review" button
if ($reviews->fields['count'] > 0 ) { ?>
<div id="productReviewLink" class="buttonRow back"><?php echo '<a href="' . zen_href_link(FILENAME_PRODUCT_REVIEWS, zen_get_all_get_params()) . '">' . zen_image_button(BUTTON_IMAGE_REVIEWS, BUTTON_REVIEWS_ALT) . '</a>'; ?></div>
<br class="clearBoth" />
<p class="reviewCount"><?php echo ($flag_show_product_info_reviews_count == 1 ? TEXT_CURRENT_REVIEWS . ' ' . $reviews->fields['count'] : ''); ?></p>
<?php } else { ?>
<div id="productReviewLink" class="buttonRow back"><?php echo '<a href="' . zen_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, zen_get_all_get_params(array())) . '">' . zen_image_button(BUTTON_IMAGE_WRITE_REVIEW, BUTTON_WRITE_REVIEW_ALT) . '</a>'; ?></div>
<br class="clearBoth" />
<?php
}
}
?>
<!--eof Reviews button and count -->
<!--bof Product date added/available-->
<?php
if ($products_date_available > date('Y-m-d H:i:s')) {
if ($flag_show_product_info_date_available == 1) {
?>
<p id="productDateAvailable" class="productGeneral centeredContent"><?php echo sprintf(TEXT_DATE_AVAILABLE, zen_date_long($products_date_available)); ?></p>
<?php
}
} else {
if ($flag_show_product_info_date_added == 1) {
?>
<p id="productDateAdded" class="productGeneral centeredContent"><?php echo sprintf(TEXT_DATE_ADDED, zen_date_long($products_date_added)); ?></p>
<?php
} // $flag_show_product_info_date_added
}
?>
<!--eof Product date added/available -->
<!--bof Ask Question button -->
<?php
if ($flag_show_product_info_ask_question == 1) { ?>
<div id="productAskQuestionLink" class="buttonRow forward"><?php echo ($flag_show_product_info_ask_question == 1 ? '<a href="' . zen_href_link(FILENAME_ASK_QUESTION, 'products_id=' . $_GET['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_ASK_QUESTION, BUTTON_ASK_QUESTION_ALT) . '</a>' : ''); ?></div>
<?php
}
?>
<!--eof Ask Question button -->
<!--bof Tell a Friend button -->
<?php
if ($flag_show_product_info_tell_a_friend == 1) { ?>
<div id="productTellFriendLink" class="buttonRow forward"><?php echo ($flag_show_product_info_tell_a_friend == 1 ? '<a href="' . zen_href_link(FILENAME_TELL_A_FRIEND, 'products_id=' . $_GET['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_TELLAFRIEND, BUTTON_TELLAFRIEND_ALT) . '</a>' : ''); ?></div>
<?php
}
?>
<!--eof Tell a Friend button -->
<!-- bof social bookmarking -->
<?php
include($template->get_template_dir('/tpl_social.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_social.php');
?>
<!-- eof social bookmarking -->
<!--bof Product URL -->
<?php
if (zen_not_null($products_url)) {
if ($flag_show_product_info_url == 1) {
?>
<p id="productInfoLink" class="productGeneral centeredContent"><?php echo sprintf(TEXT_MORE_INFORMATION, zen_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($products_url), 'NONSSL', true, false)); ?></p>
<?php
} // $flag_show_product_info_url
}
?>
<!--eof Product URL -->
<!--bof Form close-->
</form>
<!--bof Form close-->
</div>
Can someone please help me merging code to get this installed? As you can see, my template has been already altered by other mods, and I would like to get this properly merged. I love the Tabs. They look sharp. It would be nice to generate tabs based upon everything I've got here, like "Wish List", "Additional Images", "Also Purchased", "Reviews", "Tell a Friend", "Ask Question", etc.
I'm stumped --
I know its in this thread many times - even just a couple posts back but I can't seem to get the product description to go up beside the image. qhome even suggested that was Zencart default... not mine anyway... my description starts below image... I've been cutting and pasting and commenting and can't get any changes...would love wrap as described by Demo5... :(
Where and what in the tpl files - or elsewhere - do you move or add to get description next to image?
THANKS
-------
can't give any real advice to 'enderandrew' other than get and use winmerge to look at the two files side by side. another must have tool is Firebug add on to Firefox. once installed, right clicking an area will give you the html and the CSS source for displays - everything starts making sense very quickly... I'll be following my own advice soon and take an off-the-shelf tpl_product_info_display and compare via winmerge to the one modified by TabProdLITE...
I have Winmerge, but the files are different enough that I'm worried I won't merge it correctly. And even if I did, it really won't be "correct". The template in this has new code so you can make tabs for some of the common features. Ideally, I'd like to be able to make tabs for most the features I've added via modules, like "Tell a Friend", etc.
thanks qhome -
I did
but nothing seemed to have changed. so I used Firebug to inspect the section and it showed that a <br class="clearBoth"/> was still there. (I cleared cache etc)Quote:
comment out line 215 of tpl_tabbed_products_lite.php, <!--<br class="clearBoth" />-->
So I looked at tpl_product_info_display.php and sure enough there is/was <br class="clearBoth" /> there - around line 105 on my file. Commenting it out caused the description to merge together with manufacturer and model - so I just changed <br class="clearBoth" /> to <br/> twice above the <div></div> on line 106 and once more below. - I may have to play with placement of the <br/>'s but looking good!
Thanks for a great add-on and supportive thread:yes:
--------
as for file merges - I suggest starting with the tabbedLITE version of tpl_product_info_display.php and then adding the code for add-ons (such as Ask a Question). Not sure how many you have etc...but easy enough to insert code in the appropriate places.
Thank you very much! I've installed quite a few mods the past two weeks, and now my concern is how they integrate properly with one another, and hoping I haven't broken too many things.
I've just been editing the files locally on my PC. The store hasn't even gone live yet. In fact, this is the first web store I've ever done. I did an initial Zen Cart install, but I haven't uploaded the changes with all the mods yet. I'll do that in the morning and send you a link to the site. I can also upload the raw files in a 7z archive and send you a link to that so you can see the actual PHP and TPL files as opposed to the output it creates.
I'm really at a loss here, and this is the one thing that is really holding up my site sadly. Whether or not I use this mod changes how the end user is going to add products to the site, and largely we have most of the other things done. (I need to tweak the template still and test all the mods/features I added in to make sure they aren't all broken).
Since I have other mods that alter the tpl_product_info_display.php file, I can't simply overwrite it with the one from this mod. I tested my tpl_product_info_display.php file before the mod, and everything displays fine. If I attempt to merge the two, this is what I get, which is broken. It always tells me the last line of the file is messed up.
Can someone please unbork this? I only know enough to get myself into trouble apparently.Code:<?php
/**
* Page Template
* Tabbed Products Lite v3.8
* QHome (qhomezone######################)
*
* Loaded automatically by index.php?main_page=product_info.<br />
* Displays details of a typical product
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: tpl_product_info_display.php 5369 2006-12-23 10:55:52Z drbyte $
*/
//require(DIR_WS_MODULES . '/debug_blocks/product_info_prices.php');
?>
<!-- bof: Tabbed Product Lite Modifications -->
<?php require(DIR_WS_MODULES . 'tabbed_products_lite.php');?>
<!-- eof: Tabbed Product Lite Modifications -->
<div class="centerColumn" id="productGeneral">
<!--bof Form start-->
<?php echo zen_draw_form('cart_quantity', zen_href_link(zen_get_info_page($_GET['products_id']), zen_get_all_get_params(array('action')) . 'action=add_product'), 'post', 'enctype="multipart/form-data"') . "\n"; ?>
<!--eof Form start-->
<?php if ($messageStack->size('product_info') > 0) echo $messageStack->output('product_info'); ?>
<!--bof Category Icon -->
<?php if ($module_show_categories != 0) {?>
<?php
/**
* display the category icons
*/
require($template->get_template_dir('/tpl_modules_category_icon_display.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_category_icon_display.php'); ?>
<?php } ?>
<!--eof Category Icon -->
<!--bof Prev/Next top position -->
<?php if (PRODUCT_INFO_PREVIOUS_NEXT == 1 or PRODUCT_INFO_PREVIOUS_NEXT == 3) { ?>
<?php
/**
* display the product previous/next helper
*/
require($template->get_template_dir('/tpl_products_next_previous.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_products_next_previous.php'); ?>
<?php } ?>
<!--eof Prev/Next top position-->
<!-- bof: Tabbed Product Lite Modifications -->
<?php If ($bMainImageOnTabs === false || $chkTabStart === false || $chkTabEnd === false) { ?>
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Main Product Image -->
<?php
if (zen_not_null($products_image)) {
?>
<?php
/**
* display the main product image
*/
require($template->get_template_dir('/tpl_modules_main_product_image.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_main_product_image.php'); ?>
<?php
}
?>
<!--eof Main Product Image-->
<!--bof Product Name-->
<h1 id="productName" class="productGeneral"><?php echo $products_name; ?></h1>
<!--eof Product Name-->
<!--bof Product Price block -->
<h2 id="productPrices" class="productGeneral">
<?php
// base price
if ($show_onetime_charges_description == 'true') {
$one_time = '<span >' . TEXT_ONETIME_CHARGE_SYMBOL . TEXT_ONETIME_CHARGE_DESCRIPTION . '</span><br />';
} else {
$one_time = '';
}
echo $one_time . ((zen_has_product_attributes_values((int)$_GET['products_id']) and $flag_show_product_info_starting_at == 1) ? TEXT_BASE_PRICE : '') . zen_get_products_display_price((int)$_GET['products_id']);
?></h2>
<!--eof Product Price block -->
<!--bof free ship icon -->
<?php if(zen_get_product_is_always_free_shipping($products_id_current) && $flag_show_product_info_free_shipping) { ?>
<div id="freeShippingIcon"><?php echo TEXT_PRODUCT_FREE_SHIPPING_ICON; ?></div>
<?php } ?>
<!--eof free ship icon -->
<!-- bof: Tabbed Product Lite Modifications -->
<?php
} //end of the show_main_image_on_tabs if statement
if ($products_description != '') {
if ($chkTabStart === false || $chkTabEnd === false) { // BEGIN custom tab exist check
?>
<!--bof Product description -->
<div id="productDescription" class="productGeneral biggerText"><?php echo stripslashes($products_description); ?></div>
<!--eof Product description -->
<?php
If ($bAddToCart || $bMediaCollection || $bAdditionalImages || $bCustomersAlsoPurchased || $bCrossSell_Tab || $bReviews_Tab) {
require($template->get_template_dir('/tpl_tabbed_products_lite.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_tabbed_products_lite.php');
}
} else {
require($template->get_template_dir('/tpl_tabbed_products_lite.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_tabbed_products_lite.php');
}
}
?>
<!-- eof: Tabbed Product Lite Modifications -->
<br class="clearBoth" />
<?php
$value = "ot_better_together.php";
include(zen_get_file_directory(DIR_WS_LANGUAGES . $_SESSION['language'] .
'/modules/order_total/', $value, 'false'));
include(DIR_WS_MODULES . "order_total/" . $value);
$discount = new ot_better_together();
echo '<div class="content" id="discountPolicy">';
$resp = $discount->get_discount_info($_GET['products_id'], $current_category_id);
for ($i=0, $n=count($resp); $i<$n; $i++) {
echo $resp[$i] . "<br />";
}
echo '</div>';
// Now the reverse info (new in 1.3)
echo '<div class="content" id="discountPolicyReverse">';
$resp = $discount->get_reverse_discount_info($_GET['products_id'], $current_category_id);
for ($i=0, $n=count($resp); $i<$n; $i++) {
echo $resp[$i] . "<br />";
}
echo '<br /></div>';
echo '<br class="clearBoth" />';
?>
<!-- bof: Tabbed Product Lite Modifications -->
<?php if (!$bAddToCart && !$bsubtab_AddToCart) { // If not a tab, display as normal ?>
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Add to Cart Box -->
<?php
if (CUSTOMERS_APPROVAL == 3 and TEXT_LOGIN_FOR_PRICE_BUTTON_REPLACE_SHOWROOM == '') {
// do nothing
} else {
?>
<?php
$display_qty = (($flag_show_product_info_in_cart_qty == 1 and $_SESSION['cart']->in_cart($_GET['products_id'])) ? '<p>' . PRODUCTS_ORDER_QTY_TEXT_IN_CART . $_SESSION['cart']->get_quantity($_GET['products_id']) . '</p>' : '');
if ($products_qty_box_status == 0 or $products_quantity_order_max== 1) {
// hide the quantity box and default to 1
$the_button = '<input type="hidden" name="cart_quantity" value="1" />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
} else {
// show the quantity box
$the_button = PRODUCTS_ORDER_QTY_TEXT . '<input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($_GET['products_id'])) . '" maxlength="6" size="4" /><br />' . zen_get_products_quantity_min_units_display((int)$_GET['products_id']) . '<br />' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
}
$display_button = zen_get_buy_now_button($_GET['products_id'], $the_button);
?>
<?php if ($display_qty != '' or $display_button != '') { ?>
<div id="cartAdd">
<?php
echo $display_qty;
echo $display_button;
?>
</div>
<?php } // display qty and button ?>
<?php } // CUSTOMERS_APPROVAL == 3 ?>
<!--eof Add to Cart Box-->
<!-- bof: Tabbed Product Lite Modifications -->
<?php } ?>
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Add to Wish List-->
<?php
// (un): start wishlist link
echo '<a href="' . zen_href_link(UN_FILENAME_WISHLIST, zen_get_all_get_params(array('action', 'products_id')) . 'products_id='.(int)$_GET['products_id'].'&action=un_add_wishlist') . '">' . UN_TEXT_ADD_WISHLIST . '</a>';
// (un): end wishlist link
?>
<!--eof Add to Wish List-->
<!-- bof: Tabbed Product Lite Modifications -->
<!--bof Product details list -->
<?php if ( (($flag_show_product_info_model == 1 and $products_model != '') or ($flag_show_product_info_weight == 1 and $products_weight !=0) or ($flag_show_product_info_quantity == 1) or ($flag_show_product_info_manufacturer == 1 and !empty($manufacturers_name))) ) { ?>
<ul id="productDetailsList" class="floatingBox back">
<?php echo (($flag_show_product_info_model == 1 and $products_model !='') ? '<li>' . TEXT_PRODUCT_MODEL . $products_model . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_weight == 1 and $products_weight !=0) ? '<li>' . TEXT_PRODUCT_WEIGHT . $products_weight . TEXT_PRODUCT_WEIGHT_UNIT . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_quantity == 1) ? '<li>' . $products_quantity . TEXT_PRODUCT_QUANTITY . '</li>' : '') . "\n"; ?>
<?php echo (($flag_show_product_info_manufacturer == 1 and !empty($manufacturers_name)) ? '<li>' . TEXT_PRODUCT_MANUFACTURER . $manufacturers_name . '</li>' : '') . "\n"; ?>
</ul>
<br class="clearBoth" />
<?php
}
?>
<!--eof Product details list -->
<br class="clearBoth" />
<div></div>
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Attributes Module -->
<?php
if ($pr_attr->fields['total'] > 0) {
?>
<?php
/**
* display the product atributes
*/
require($template->get_template_dir('/tpl_modules_attributes.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_attributes.php'); ?>
<?php
}
?>
<!--eof Attributes Module -->
<br class="clearBoth" />
<!--bof Quantity Discounts table -->
<?php
if ($products_discount_type != 0) { ?>
<?php
/**
* display the products quantity discount
*/
require($template->get_template_dir('/tpl_modules_products_quantity_discounts.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_products_quantity_discounts.php'); ?>
<?php
}
?>
<!--eof Quantity Discounts table -->
<br class="clearBoth" />
<!-- bof: Tabbed Product Lite Modifications -->
<!--bof Additional Product Images -->
<?php if (!$bAdditionalImages && !$bsubtab_AdditionalImages) {
/**
* display the products additional images
*/
require($template->get_template_dir('/tpl_modules_additional_images.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_additional_images.php'); ?>
<!--eof Additional Product Images -->
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Prev/Next bottom position -->
<?php if (PRODUCT_INFO_PREVIOUS_NEXT == 2 or PRODUCT_INFO_PREVIOUS_NEXT == 3) { ?>
<?php
/**
* display the product previous/next helper
*/
require($template->get_template_dir('/tpl_products_next_previous.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_products_next_previous.php'); ?>
<?php } ?>
<!--eof Prev/Next bottom position -->
<!-- bof: Tabbed Product Lite Modifications -->
<!--bof Reviews button and count-->
<?php if (!$bReviews_Tab && !$bsubtab_Reviews) {?>
<?php
if ($flag_show_product_info_reviews == 1) {
// if more than 0 reviews, then show reviews button; otherwise, show the "write review" button
if ($reviews->fields['count'] > 0 ) { ?>
<div id="productReviewLink" class="buttonRow back"><?php echo '<a href="' . zen_href_link(FILENAME_PRODUCT_REVIEWS, zen_get_all_get_params()) . '">' . zen_image_button(BUTTON_IMAGE_REVIEWS, BUTTON_REVIEWS_ALT) . '</a>'; ?></div>
<br class="clearBoth" />
<p class="reviewCount"><?php echo ($flag_show_product_info_reviews_count == 1 ? TEXT_CURRENT_REVIEWS . ' ' . $reviews->fields['count'] : ''); ?></p>
<?php } else { ?>
<div id="productReviewLink" class="buttonRow back"><?php echo '<a href="' . zen_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, zen_get_all_get_params(array())) . '">' . zen_image_button(BUTTON_IMAGE_WRITE_REVIEW, BUTTON_WRITE_REVIEW_ALT) . '</a>'; ?></div>
<br class="clearBoth" />
<?php
}
}
?>
<?php } ?>
<!--eof Reviews button and count -->
<!-- eof: Tabbed Product Lite Modifications -->
<br class="clearBoth" />
<!-- bof: Tabbed Product Lite Modifications -->
<!--bof also purchased products module-->
<?php if (!$bCustomersAlsoPurchased && !$bsubtab_CustomersAlsoPurchased) {
require($template->get_template_dir('tpl_modules_also_purchased_products.php', DIR_WS_TEMPLATE, $current_page_base,'templates'). '/' . 'tpl_modules_also_purchased_products.php');?>
}?>
<!--eof also purchased products module-->
<!-- eof: Tabbed Product Lite Modifications -->
<!--bof Product date added/available-->
<?php
if ($products_date_available > date('Y-m-d H:i:s')) {
if ($flag_show_product_info_date_available == 1) {
?>
<p id="productDateAvailable" class="productGeneral centeredContent"><?php echo sprintf(TEXT_DATE_AVAILABLE, zen_date_long($products_date_available)); ?></p>
<?php
}
} else {
if ($flag_show_product_info_date_added == 1) {
?>
<p id="productDateAdded" class="productGeneral centeredContent"><?php echo sprintf(TEXT_DATE_ADDED, zen_date_long($products_date_added)); ?></p>
<?php
} // $flag_show_product_info_date_added
}
?>
<!--eof Product date added/available -->
<!--bof Ask Question button -->
<?php
if ($flag_show_product_info_ask_question == 1) { ?>
<div id="productAskQuestionLink" class="buttonRow forward"><?php echo ($flag_show_product_info_ask_question == 1 ? '<a href="' . zen_href_link(FILENAME_ASK_QUESTION, 'products_id=' . $_GET['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_ASK_QUESTION, BUTTON_ASK_QUESTION_ALT) . '</a>' : ''); ?></div>
<?php
}
?>
<!--eof Ask Question button -->
<!--bof Tell a Friend button -->
<?php
if ($flag_show_product_info_tell_a_friend == 1) { ?>
<div id="productTellFriendLink" class="buttonRow forward"><?php echo ($flag_show_product_info_tell_a_friend == 1 ? '<a href="' . zen_href_link(FILENAME_TELL_A_FRIEND, 'products_id=' . $_GET['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_TELLAFRIEND, BUTTON_TELLAFRIEND_ALT) . '</a>' : ''); ?></div>
<?php
}
?>
<!--eof Tell a Friend button -->
<!-- bof social bookmarking -->
<?php
include($template->get_template_dir('/tpl_social.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_social.php');
?>
<!-- eof social bookmarking -->
<!--bof Product URL -->
<?php
if (zen_not_null($products_url)) {
if ($flag_show_product_info_url == 1) {
?>
<p id="productInfoLink" class="productGeneral centeredContent"><?php echo sprintf(TEXT_MORE_INFORMATION, zen_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($products_url), 'NONSSL', true, false)); ?></p>
<?php
} // $flag_show_product_info_url
}
?>
<!--eof Product URL -->
<!--bof Form close-->
</form>
<!--bof Form close-->
</div>
I've just downloaded and installed tabbed products lite and all seemed to be working fine but when i went into config and set global add to cart tab it doesn't put the add to cart button and attributes on its own tab, it adds them on the bottom of the product description tab.
If I disable global product description, it works fine but puts the product description outside the tabs.
I have not edited anything other than the config options. Please can someone tell me how I can get the add to cart button and attributes on its own tab without putting the product description outside the tabs.
Sorry if this question has been asked before but 107 pages is a lot to read through.
Also I was wondering if its possible to have the tell a friend button on its own tab rather than at the bottom of the page?
This is behaving as designed. The reason I do that is so the Add to Cart button can always be visible, as I assume you would want customers to be able to easily find the button that means money for you :)
I do have a similar request for allowing it to work the way you want it as well though. I just gotta find the time. In the mean time you can use the sub tags for adding add to cart on a per-product basis. But soon i hope to get it global.
Hi qhome,
Thanks for the reply, in the end I just decided to drop the attributes and add to cart button under the tabs and as for the tell a friend button, it's not doing any harm where it is so it can stay there for now.
Thanks anyway
Need help when I add SQL....
1146 Table 'db4640_cart.configuration_group' doesn't exist
in:
[SELECT @gid := configuration_group_id FROM configuration_group where configuration_group_title LIKE 'Tabbed Products Config';]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
My site map link disappeared in information sidebox after installing this. How can I fix it? I am using the true blue template also.
Thank you
There was an easier way. Took me a while to figure it out. Now that I figured it out. It was in the information.php file in includes/sideboxes.php file. I just added the link there & now it shows up.
I was just wondering how do you uninstall tabbedproductslite_v3.8
I installed it and it mess me up for some reason on my check out page. All I need to know is how to undo what I have done. Thank you
I fix the Problem. Thank you anyway. I must have over written two file when I installed it some how. Anyway I fixed it. Thank you
Hi ya,
I am just needing to know if it's possible to switch the default tab when page opens to the additional images tab instead of the product info. I realize it's an odd request, but sales from some of the sites I maintain depend more on seeing the product images than reading the product info.
Marian
Hello all,
The above quote is post #1025, the issue of SQL errors are also mentioned in posts # 972, 973, 983, 985-987, 1012, 1021-1023. There might be others, but that's all I have seen.
So it is now my turn to have an SQL error when copying and pasting the code from the "TabbedProducts_v3.8_Full.sql" file into the tools->install SQL patches window.
Here is the error message:
1048 Column 'configuration_group_id' cannot be null
in:
[INSERT INTO sub_configuration VALUES ('', 'Global Product Description Tab', 'GLOBAL_PROD_DESC_ON_TAB', '1', 'Set this to 1 if you want all products to have the Main Product Description on its own tab', @gid, '11', now(), now(), NULL, "zen_cfg_select_option(array('0', '1'),");]
Although this error message is slightly different than the other posts that discuss SQL errors, I figured I'd try to see if the issue wasn't the same - a missing DB prefix.
I had a look at PHPMyAdmin to see if I could determine the prefix of my database, if any. Then I realized it was staring right at me - "configuration" is the name of a table in the DB, in the error message above it has been prepended with "sub_".
But when I go through the SQL file to manually prepend "sub_" to all instances of tables in the file, I get messages saying, for instance:
"1146 Table 'XXXXX.sub_sub_configuration_group' doesn't exist
in:
[DELETE FROM sub_sub_configuration_group WHERE configuration_group_title LIKE 'Tabbed Products Config' LIMIT 1;] "
(where XXXXX is the name of my DB)
I also tried prepending "sub." and "sub" with similar results.
Is this error 1048 fundamentally different than the missing table error? Using PHPMyAdmin, I poked inside of the "configuration" table and found the Column "configuration_group_id". I could have switched it's NULL status from "No" to "Yes", but I thought I might be in the process of breaking something.
So I am a little confused. Sorry for the rambling post, I've been staring at the same problem way too long. Evidently, I am pretty new to PHP/MySQL and coding in general.
FYI, I am on
ZC V. 1.3.7
It is an automatic installation provided by Dreamhost, no other mods done yet.
thanks for any help
**update** I have since decided to completely delete and re-install Zencart to be certain that it wasn't some kind of installation screw up. I opted to include the default list of products, in the event that the problem was that I had only 1 product the first time around.
Now the error is in line with those already posted (missing tables), but I still can't figure out where to prepend the prefix (which is in fact "zen_", not "sub*", BTW). I'll keep wrestling with it, but so far every set of prefixes that I put in for database table names in the MySQL file yields a different but similar result.
I am in the process of compiling the variations of where I place the prefix vs. the type of error message, but if someone can give me a pointer as to which table names specifically need prefixes, this would be greatly appreciated. I don't want to "spam" this thread with the actual code and corresponding list of errors...
thanks
Hello, again there's hundreds of posts on this matter and through Search Thread Tool I can't seem to find any solution to my problem. My problem is the rendering of the Tabbed Products Lite in IE6. take a look at www.abcplus.ro of course with IE6 and look at any product description. The js renders the css completely inappropriate, and everything changes when you go selecting things and such, and the producers icon and name is not shown, any help will be greatly appreciated.
I THINK I figured out where the prefix belonged. While I am still at a loss as to why the rest of the tables didn't need the prefix, I was able to upload the script without errors ("17 statements processed") by adding the prefix (in this case, it was, in fact "zen_" ONLY to this bit:
" SELECT @gid := configuration_group_id FROM `configuration_group` where `configuration_group_title` LIKE 'Tabbed Products Config'; "
I prefixed "zen_" to " 'configuration_group' " such that it became `zen_configuration_group` and it worked.
But now....
the tabs don't load properly, that is to say, they do not look anything like the demo site tabs. Instead, they appear as horizontal bars going down the page.
will attach a pic if anyone is interested to see what I mean. But as a separate issue, the reviews tab is messed up and shot out the following error on the page:
Warning: require(includes/templates/template_default/templates/tpl_modules_tabbed_products_lite_reviews.php) [function.require]: failed to open stream: No such file or directory in /home/*****/includes/templates/nightfall/templates/tpl_tabbed_products_lite.php on line 462
Fatal error: require() [function.require]: Failed opening required 'includes/templates/template_default/templates/tpl_modules_tabbed_products_lite_reviews.php' (include_path='.:/usr/local/php5/lib/php:/usr/local/lib/php') in /yada/yada/yada/yada/includes/templates/nightfall/templates/tpl_tabbed_products_lite.php on line 462
<QUOTE>
the tabs don't load properly, that is to say, they do not look anything like the demo site tabs. Instead, they appear as horizontal bars going down the page.
will attach a pic if anyone is interested to see what I mean. But as a separate issue, the reviews tab is messed up and shot out the following error on the page:
(etc.)
</QUOTE>
I think I figured it out - I believe there is an error in the documentation, it might have already been addressed in the thread, but it is still incorrect in the readme file:
under Installation-> files to upload, it states the following:
(IMPORTANT!!! Change YOUR_TEMPLATE to the custom template you are using. It is not recommended that you overwrite the files in the template_default folder) The rest of the file structure is in tact, so you could rename the YOUR_TEMPLATE folder locally and upload the entire structure.
/catalog/includes/templates/YOUR_TEMPLATE/css/*.css (Multiple files)
/catalog/includes/templates/YOUR_TEMPLATE/jscript/jscript_tablitev3.js
/catalog/includes/templates/YOUR_TEMPLATE/templates/tpl_product_info_display.php
/catalog/includes/templates/YOUR_TEMPLATE/templates/tpl_product_music_info_display.php
/catalog/includes/templates/YOUR_TEMPLATE/templates/tpl_product_free_shipping_info_display.php
/catalog/includes/templates/YOUR_TEMPLATE/tpl_modules_tabbed_products_lite_reviews.php /catalog/includes/templates/YOUR_TEMPLATE/templates/tpl_tabbed_products_lite.php
/catalog/includes/modules/tabbed_products_lite.php
/catalog/includes/languages/english/extra_definitions/tabbed_products_lite.php
/catalog/includes/templates/YOUR_TEMPLATE/images/*.gif (Multiple files)
the error is that the 6th file path is: /catalog/includes/templates/YOUR_TEMPLATE/tpl_modules_tabbed_products_lite_reviews.php
when it should be:
/catalog/includes/templates/YOUR_TEMPLATE/templates/tpl_modules_tabbed_products_lite_reviews.php
I had installed the tpl_modules_tabbed_products_lite_reviews.php file in the directory above, as per those instructions. As soon as I put it into the same directory with the other php files, the error disappeared and the tabs now work flawlessly.
THANK YOU FOR THIS MOD!!!! I'll stop spamming this thread now.
http://www.zen-cart.com/forum/images/smilies/clap.gif
Hello,
first of all thanks for the great mod!!! Just what I was looking for....
I installed the NonAdmin-Edition and everything was working fine so far, just two things I cama across and dont know how to fix. I aplogize if it was asked before, but after reading some 50 pages I gave up looking...:blush:
Please take a look at
http://clickyshop.com/newzen/index.p...&products_id=2
How can i get rid of teh header?
I already put
, but somehow only on cross-sell the header shows up...Quote:
$bShowHeaders = false;
I prefer to have the tabs shorter and the tab which says ´comentarios´ has a gap, how can I fill it?
Thanks a lot for help.
Regards,
kruna
I'm feeling pretty foolish because this answer must be in here somewhere, however, after 2 days of trying and failing I can't get my tabs to work in the way I am hoping...
I would like the following tabs in this order:
Product Description - Product Attributes - Additional Images - Customer Also Purchased - Reviews
If I have the Add to cart show up in a tab via the admin (Global Add To Cart Tab) it goes to the bottom of the page (not in a tab)
Is there a true simple answer to this?
Marg
I should also have added that I want this hard-coded as how else will my client edit their products? They certainly won't do a very good job trying to figure this out for themselves.
Marg
Got a link i can see?
I sent you a pm...
I have the site soft-coded with the code in the description area right now, but that's not going to work...
Thanks,
Marg
The Header is a hack. The Cross Sell contrib has its own separate code base. Since my tabs didn't have that header, I added one to make it look more like the Cross Sell contrib so they would all have their own header and look more natural. If you are going to disable the header, you'll have to edit the Cross Sell mod files separately as I have nothing to do with that contrib.
Well there are some deviations to the customizing.
By default, I always kept the Add to Cart and Product Attributes on the "First" tab. If the first tab was Product Description, the Add to cart and attribs would be on the first tab. If the Product Description was not on a tab, then I would generate an Add-to-Cart tab as the first tab and put the add to cart and attribs on the first tab.
So it would normally be:
Product Description (With Add button and attrib) -- Additional Images -- Customer Also Purchased -- Reviews
Then I added the ability for softcoding the sub tags into the admin area in the product description area, but that does require the change on each item.
If you want the above setup, I can work on some customizations for you.
As far as the add to cart button not showing up on the tabs, I may need to check your setup but we will worry about that after the customizations.
Is there a specific place I need to tell this mod where my one folder with all my images is located at? Products are showing up on the main page, but not the product page.
Ex:
/images/my_images/
Only my product images are located there (/images/my_images), but the rest of the images are still in their regular directories under /images.
sample:
main page:
http://www.cubecaseoutlet.com
product page:
http://www.cubecaseoutlet.com/index....oducts_id=5992
This is a wonderful mod - thank you.
However, I've read most of the 107 pages, and have copied and pasted codes, but I can't fix this:
What I would like is:
Product Description -- Add To Cart -- Reviews
The Add To Cart would show the attributes. Just like on your sample product 1.
Theoretically this should work?
But I get the attributes under "blahblahblah" (product description), and nothing on Add To Cart.Code:<!--%Product Description%-->
blahblahblah
<!--%Add To Cart%-->
<!--*sub_AttributeOptions(2)*-->
I have tried to get Add to Cart appearing automatically, as it should if you have custom tags (?) but that didn't show nohow.
My Global Add To Cart is 1, as if it is 0, the attributes show under all the tabs. I just want them on the Add to Cart tab.
Thank you, if you can help!
:frusty:
<!--%Product Description%-->
blahblahblah
<!--%Add To Cart%-->
<!--*sub_AddtoCart(2)*-->
<!--*sub_AttributeOptions(2)*-->
That should work. PM me a link if that doesn't work.
That has all been so frustrating. :smile:
Thank you so much for providing the correct code, to take away one of the possibilities.
I went back to a backup and reinstalled, and it worked. :clap:
I have no idea why it just wouldn't before - I had installed it the same previously.
Great MOD, ive been using it alot. really helps to put alot of information on the product pages without cluttering up tha page.
Anyhow, i have a small problem.
What i would like to do is call in a custom html file to a tab.
Im selling costumes and each manufacturer has a different way of measuring. None of the sizes match up. What ive done is created a size.html for each supplier and i would love to be able to put the sizes on a tab but without typing it into each product. (If they change or add another size then i simply edit the file rather than each product)
How can i call in a custom file into a tab? ive tried the following but it doesnt work. Ive tried it without the PHP tags too.
<!--%Sizes%-->
<?php include('sizes.html'); ?>
Is there a way of doing this?
Cheers
Paul
Hmm.
There are 2 ways I can think of.
or what I think is a better way:Code:<iframe src="externalfile.htm" width="320" height="300" scrolling="yes" name="content"></iframe>
Try adding that to your products.Code:<object src="externalfile.htm" srctype="text/javascript"><em>alternate text</em></object>
I'd love to know if you got that addon html page to work, it would be awesome to be able to add something like that. I know several of my clients would love to be able to be able to do this as well.
Marian