Re: Unable to Save Global Config
Can we place a FULL SITE link somewhere in the footer?
In case a mobile user doesn't like mobile view.
Re: Unable to Save Global Config
Quote:
Originally Posted by
spawnie69
Can we place a FULL SITE link somewhere in the footer?
In case a mobile user doesn't like mobile view.
I may be wrong, but I believe the answer is no.
This template is not creating a separate mobile subdomain (in which case you could provide a link to the standard domain.) It is changing the styling based on the screen size and media device.
Re: Unable to Save Global Config
Quote:
Originally Posted by
Jen56789
Using a Samsung Phone. I've attached a picture - See how the product picture (top) and Add To Cart button do not fit the screen. Could it be a value in the CMS menu?
I see what you mean. I fiddled with it a bit using Firebug, but without a full file compare I couldn't find the issue.
There is div somewhere on the page that is stretching past the edge. That then is pushing the container past the edge and allowing all elemnts with width 100% to also stretch.
On my test and production sites I have it working correctly so the default should be correct.
As an aside, I find styling this template to be rather difficult due to the reset.css file.
Re: Unable to Save Global Config
Actually Spawnie69 was right, this problem is solved by one of the latest updates listed at the Numinix site (the Zen Cart site does not list the most recent version)! Installing the files from the 1.6.7 update fixes the bug. I'd advice all users of an earlier version to check whether their product page looks ok on cell phone and if not install the updated files. Thanks Spawnie69 :smile:
Quote:
Originally Posted by
lindasdd
I see what you mean. I fiddled with it a bit using Firebug, but without a full file compare I couldn't find the issue.
There is div somewhere on the page that is stretching past the edge. That then is pushing the container past the edge and allowing all elemnts with width 100% to also stretch.
On my test and production sites I have it working correctly so the default should be correct.
As an aside, I find styling this template to be rather difficult due to the reset.css file.
1 Attachment(s)
Re: Paypal Express Spacing Issue
Cool, great to hear Jen56789
If you happen to accept paypal express you may want to check if you have a spacing issue between the paypal express button and the continue shopping link in the shopping cart with at least one item.
I have this spacing issue on my samsung phone and my wifes tablet. On desktop looks fine. From what I could find, it was only mentioned once early in the thread but never fixed? not too sure though.
Re: Paypal Express Spacing Issue
Quote:
Originally Posted by
spawnie69
Cool, great to hear Jen56789
If you happen to accept paypal express you may want to check if you have a spacing issue between the paypal express button and the continue shopping link in the shopping cart with at least one item.
I have this spacing issue on my samsung phone and my wifes tablet. On desktop looks fine. From what I could find, it was only mentioned once early in the thread but never fixed? not too sure though.
If anything I would change the CSS styling on that section to display:none; - even though technically you are not supposed to. It is just a distraction.
Re: Tableau Responsive Theme - Support Thread
Quote:
Originally Posted by
mikestaps
This is caused by a change in the includes\modules\pages\index\main_template_vars.php file
To switch back to the old way first uncomment lines 64 THROUGH 123 and line 126.
Code:
/*$sql = "SELECT cd.categories_name, c.categories_image
FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd
WHERE c.categories_id = :categoriesID
AND cd.categories_id = :categoriesID
AND cd.language_id = :languagesID
AND c.categories_status= '1'";
$sql = $db->bindVars($sql, ':categoriesID', $current_category_id, 'integer');
$sql = $db->bindVars($sql, ':languagesID', $_SESSION['languages_id'], 'integer');
$category = $db->Execute($sql);
if (isset($cPath) && strpos($cPath, '_'))
{
// check to see if there are deeper categories within the current category
$category_links = array_reverse($cPath_array);
for($i=0, $n=sizeof($category_links); $i<$n; $i++)
{
$sql = "SELECT count(*) AS total
FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd
WHERE c.parent_id = :parentID
AND c.categories_id = cd.categories_id
AND cd.language_id = :languagesID
AND c.categories_status= '1'";
$sql = $db->bindVars($sql, ':parentID', $category_links[$i], 'integer');
$sql = $db->bindVars($sql, ':languagesID', $_SESSION['languages_id'], 'integer');
$categories = $db->Execute($sql);
if ($categories->fields['total'] < 1)
{
// do nothing, go through the loop
} else {
$categories_query = "SELECT c.categories_id, cd.categories_name, c.categories_image, c.parent_id
FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd
WHERE c.parent_id = :parentID
AND c.categories_id = cd.categories_id
AND cd.language_id = :languagesID
AND c.categories_status= '1'
ORDER BY sort_order, cd.categories_name";
$categories_query = $db->bindVars($categories_query, ':parentID', $category_links[$i], 'integer');
$categories_query = $db->bindVars($categories_query, ':languagesID', $_SESSION['languages_id'], 'integer');
break; // we've found the deepest category the customer is in
}
}
} else {
$categories_query = "SELECT c.categories_id, cd.categories_name, c.categories_image, c.parent_id
FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd
WHERE c.parent_id = :parentID
AND c.categories_id = cd.categories_id
AND cd.language_id = :languagesID
AND c.categories_status= '1'
ORDER BY sort_order, cd.categories_name";
$categories_query = $db->bindVars($categories_query, ':parentID', $current_category_id, 'integer');
$categories_query = $db->bindVars($categories_query, ':languagesID', $_SESSION['languages_id'], 'integer');
}
$categories = $db->Execute($categories_query);
$number_of_categories = $categories->RecordCount();
$new_products_category_id = $current_category_id;*/
/////////////////////////////////////////////////////////////////////////////////////////////////////
//$tpl_page_body = 'tpl_index_categories.php';
/////////////////////////////////////////////////////////////////////////////////////////////////////
Next comment out this section (129-196):
Code:
//BOF SHOW ALL PRODUCTS FOR PARENT CATEGORIES
if (SHOW_PRODUCT_INFO_ALL_PRODUCTS == '1') {
// set a category filter
$new_products_category_id = $cPath;
} else {
// do not set the category
}
// create column list
$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE);
/* ,
'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);
*/
asort($define_list);
reset($define_list);
$column_list = array();
foreach ($define_list as $key => $value)
{
if ($value > 0) $column_list[] = $key;
}
$select_column_list = '';
for ($i=0, $n=sizeof($column_list); $i<$n; $i++)
{
switch ($column_list[$i])
{
case 'PRODUCT_LIST_MODEL':
$select_column_list .= 'p.products_model, ';
break;
case 'PRODUCT_LIST_NAME':
$select_column_list .= 'pd.products_name, ';
break;
case 'PRODUCT_LIST_MANUFACTURER':
$select_column_list .= 'm.manufacturers_name, ';
break;
case 'PRODUCT_LIST_QUANTITY':
$select_column_list .= 'p.products_quantity, ';
break;
case 'PRODUCT_LIST_IMAGE':
$select_column_list .= 'p.products_image, ';
break;
case 'PRODUCT_LIST_WEIGHT':
$select_column_list .= 'p.products_weight, ';
break;
}
}
// always add quantity regardless of whether or not it is in the listing for add to cart buttons
if (PRODUCT_LIST_QUANTITY < 1) {
$select_column_list .= 'p.products_quantity, ';
}
// set the product filters according to selected product type
$typefilter = 'default';
if (isset($_GET['typefilter'])) $typefilter = $_GET['typefilter'];
require(zen_get_index_filters_directory($typefilter . '_filter.php'));
////////////////////////////////////////////////////////////////////////////////////////////////////////////
$tpl_page_body = 'tpl_index_product_list.php';
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EOF SHOW ALL PRODUCTS FOR PARENT CATEGORIES
This will revert to sub-category photos showing when a parent category is selected.
This is exactly what I wanted to get the category listing back but it seems to break the sort filter and the listing the products by cheapest to highest price. Or the old to new . I am not sure if you can have both. It would be good if you can as the price low to high is a nice feature..
Has anyone else noticed this and is there a fix somewhere that I have not been able to see on the forum/thread.
Thank you.
MG
Re: Tableau Responsive Theme - Support Thread
Quote:
Originally Posted by
MIKEYFM
This is exactly what I wanted to get the category listing back but it seems to break the sort filter and the listing the products by cheapest to highest price. Or the old to new . I am not sure if you can have both. It would be good if you can as the price low to high is a nice feature..
Has anyone else noticed this and is there a fix somewhere that I have not been able to see on the forum/thread.
Thank you.
MG
I resolved it by doing the following:
created a file: includes/functions/extra_functions/sort_by_functions.php
PHP Code:
<?php
function order_by_sort_by_sql($sortby, $order_by = true) {
if($order_by == true){
$listing_sql = ' ORDER BY ';
}
switch ($sortby) {
case '1':
//newest
$listing_sql .= " p.products_date_added DESC ";
break;
case '3':
//price HIGH->LOW
$listing_sql .= " p.products_price DESC ";
break;
case '4':
//price LOW->HIGH
$listing_sql .= " p.products_price ASC ";
break;
case '5':
//Name ASC
$listing_sql .= " pd.products_name ASC ";
break;
case '6':
//Name DESC
$listing_sql .= " pd.products_name DESC ";
break;
case '0':
default:
//products defualt sort order
$listing_sql .= " p.products_sort_order, pd.products_name";
break;
}
return $listing_sql;
}
includes/index_filters/default_filter.php
commented out: (around line 90ish) also similarly in the includes/modules/advanced_search_results/header_php.php
PHP Code:
array('id' => 0, 'text' => 'Default Order'),
array('id' => 1, 'text' => 'Newest First'),
//array('id' => 2, 'text' => 'Most Popular'),
array('id' => 3, 'text' => 'Price (High to Low)'),
array('id' => 4, 'text' => 'Price (Low to High)'),
array('id' => 5, 'text' => 'Name (A-Z)'),
array('id' => 6, 'text' => 'Name (Z-A)'),
...
case 'PRODUCT_LIST_WEIGHT':
$listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
break;
case 'PRODUCT_LIST_PRICE':
$listing_sql .= " order by p.products_price_sorter " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
break;
}
}
}
modified includes/templates/tableau/templates/tpl_modules_product_listing.php to have the
HTML Code:
<div class="sort-listings-wrapper">
look like this:
PHP Code:
<div class="sort-listings-wrapper">
<?php echo zen_draw_form('sortbyform', zen_href_link(zen_db_prepare_input($_GET['main_page']), zen_get_all_get_params(array('sortby', 'sort','keyword','search_in_description','inc_subcat','')), $request_type, false), 'get') . zen_hide_session_id();?>
<?php
echo zen_draw_hidden_field('main_page', zen_db_prepare_input($_GET['main_page']));
$sortbyparams = explode('&', zen_get_all_get_params(array('sortby', 'sort','')));
foreach($sortbyparams as $param) {
$param = explode('=', $param);
if(strlen($param[0]) > 1){
echo zen_draw_hidden_field($param[0], $param[1]);
}
}
?>
<label>Sort By:</label>
<?php
$sortby_array = array(
array('id' => 0, 'text' => 'Default Order'),
array('id' => 1, 'text' => 'Newest First'),
//array('id' => 2, 'text' => 'Most Popular'),
array('id' => 3, 'text' => 'Price (High to Low)'),
array('id' => 4, 'text' => 'Price (Low to High)'),
array('id' => 5, 'text' => 'Name (A-Z)'),
array('id' => 6, 'text' => 'Name (Z-A)'),
);
echo zen_draw_pull_down_menu('sortby', $sortby_array, $_GET['sortby'], 'onchange="this.form.submit();"');
?>
<?php echo '</form>';?>
</div><!--EOF .sort-listings-wrapper-->
<?php if($_GET['showall'] == 1) {?>
Hopefully that helps!
Re: Tableau Responsive Theme - Support Thread
I think I spoke too soon, it looks like the sort bug was fixed in version 1.6.5
Re: Tableau Responsive Theme - Support Thread
Quote:
Originally Posted by
bislewl
I think I spoke too soon, it looks like the sort bug was fixed in version 1.6.5
It was only kind of fixed... If you set a default sort order in the Admin ->Configuration -> Product Listing you cannot select/re-select that sort option in the drop down.
This was also brought up on github - here