Zen Cart Logo

"View All" link

Views: 24,241

Results 41 to 46 of 46
15 Apr 2013, 5:59 AM
#42
simon1066 avatar

simon1066

Totally Zenned

Join Date:
Feb 2009
Location:
UK
Posts:
1,326
Plugin Contributions:
0

Re: "View All" link

Scrub that premature praise - still some work to do as sorting by price clears the view all selection

5 Aug 2016, 1:22 PM
#43
psychophrenic avatar

psychophrenic

New Zenner

Join Date:
Aug 2016
Location:
Greece
Posts:
3
Plugin Contributions:
0

Re: "View All" link

ive used your code and it works like a charm in my categories. but for some reason it cannot work in feature,special pages giving me a error with no description when clicked. Therefore is there a way to disable the button when you click on those pages ?
the code is this:

<?php /** * split_page_results Class. * * @package classes * @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: split_page_results.php 3041 2006-02-15 21:56:45Z wilt $ */ if (!defined('IS_ADMIN_FLAG')) { die('Illegal Access'); } /** * Split Page Result Class * * An sql paging class, that allows for sql reslt to be shown over a number of pages using simple navigation system * Overhaul scheduled for subsequent release * * @package classes */ class splitPageResults extends base { var $sql_query, $number_of_rows, $current_page_number, $number_of_pages, $number_of_rows_per_page, $page_name; /* class constructor */ function splitPageResults($query, $max_rows, $count_key = '*', $page_holder = 'page', $debug = false) { global $db; $this->sql_query = $query; $this->page_name = $page_holder; if ($debug) { echo 'original_query=' . $query . '<br /><br />'; } if (isset($_GET[$page_holder])) { $page = $_GET[$page_holder]; } elseif (isset($_POST[$page_holder])) { $page = $_POST[$page_holder]; } else { $page = ''; } if ($page == 'all') { $this->page_all = true; $override = $db->Execute($query); $max_rows = $override->RecordCount(); } if (empty($page) || !is_numeric($page)) $page = 1; $this->current_page_number = $page; $this->number_of_rows_per_page = $max_rows; $pos_to = strlen($this->sql_query); $query_lower = strtolower($this->sql_query); $pos_from = strpos($query_lower, ' from', 0); $pos_group_by = strpos($query_lower, ' group by', $pos_from); if (($pos_group_by < $pos_to) && ($pos_group_by != false)) $pos_to = $pos_group_by; $pos_having = strpos($query_lower, ' having', $pos_from); if (($pos_having < $pos_to) && ($pos_having != false)) $pos_to = $pos_having; $pos_order_by = strpos($query_lower, ' order by', $pos_from); if (($pos_order_by < $pos_to) && ($pos_order_by != false)) $pos_to = $pos_order_by; if (strpos($query_lower, 'distinct') || strpos($query_lower, 'group by')) { $count_string = 'distinct ' . zen_db_input($count_key); } else { $count_string = zen_db_input($count_key); } $count_query = "select count(" . $count_string . ") as total " . substr($this->sql_query, $pos_from, ($pos_to - $pos_from)); if ($debug) { echo 'count_query=' . $count_query . '<br /><br />'; } $count = $db->Execute($count_query); $this->number_of_rows = $count->fields['total']; $this->number_of_pages = ceil($this->number_of_rows / $this->number_of_rows_per_page); if ($this->current_page_number > $this->number_of_pages) { $this->current_page_number = $this->number_of_pages; } $offset = ($this->number_of_rows_per_page * ($this->current_page_number - 1)); // fix offset error on some versions if ($offset < 0) { $offset = 0; } $this->sql_query .= " limit " . $offset . ", " . $this->number_of_rows_per_page; } /* class functions */ // display split-page-number-links function display_links($max_page_links, $parameters = '') { global $request_type; $display_links_string = ''; $class = ''; if (zen_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&'; if (!$this->page_all) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . 'all', $request_type) . '" title=" ' . SHOW_ALL_TITLE . ' ">' . SHOW_ALL_BUTTON . '</a>  '; else $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters, $request_type) . '" title=" ' . SHOW_PAGEVIEW_TITLE . ' ">' . SHOW_PAGEVIEW_BUTTON . '</a>  '; // previous button - not displayed on first page if ($this->current_page_number > 1) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . ($this->current_page_number - 1), $request_type) . '" title=" ' . PREVNEXT_TITLE_PREVIOUS_PAGE . ' ">' . PREVNEXT_BUTTON_PREV . '</a>  '; // check if number_of_pages > $max_page_links $cur_window_num = intval($this->current_page_number / $max_page_links); if ($this->current_page_number % $max_page_links) $cur_window_num++; $max_window_num = intval($this->number_of_pages / $max_page_links); if ($this->number_of_pages % $max_page_links) $max_window_num++; // previous window of pages if ($cur_window_num > 1) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . (($cur_window_num - 1) * $max_page_links), $request_type) . '" title=" ' . sprintf(PREVNEXT_TITLE_PREV_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a>'; // page nn button - visa inte om alla sidor visas if (!$this->page_all) { for ($jump_to_page = 1 + (($cur_window_num - 1) * $max_page_links); ($jump_to_page <= ($cur_window_num * $max_page_links)) && ($jump_to_page <= $this->number_of_pages); $jump_to_page++) { if ($jump_to_page == $this->current_page_number) { $display_links_string .= ' <strong class="current">' . $jump_to_page . '</strong> '; } else { $display_links_string .= ' <a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . $jump_to_page, $request_type) . '" title=" ' . sprintf(PREVNEXT_TITLE_PAGE_NO, $jump_to_page) . ' ">' . $jump_to_page . '</a> '; } } } // next window of pages if ($cur_window_num < $max_window_num) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . (($cur_window_num) * $max_page_links + 1), $request_type) . '" title=" ' . sprintf(PREVNEXT_TITLE_NEXT_SET_OF_NO_PAGE, $max_page_links) . ' ">...</a> '; // next button if (($this->current_page_number < $this->number_of_pages) && ($this->number_of_pages != 1)) $display_links_string .= ' <a href="' . zen_href_link($_GET['main_page'], $parameters . 'page=' . ($this->current_page_number + 1), $request_type) . '" title=" ' . PREVNEXT_TITLE_NEXT_PAGE . ' ">' . PREVNEXT_BUTTON_NEXT . '</a> '; if ($display_links_string == ' <strong class="current">1</strong> ') { return ' '; } else { return $display_links_string; } } // display number of total products found function display_count($text_output) { $to_num = ($this->number_of_rows_per_page * $this->current_page_number); if ($to_num > $this->number_of_rows) $to_num = $this->number_of_rows; $from_num = ($this->number_of_rows_per_page * ($this->current_page_number - 1)); if ($to_num == 0) { $from_num = 0; } else { $from_num++; } if ($to_num <= 1) { // don't show count when 1 return ''; } else { return sprintf($text_output, $from_num, $to_num, $this->number_of_rows); } } } if (!$this->page_all) { ?>
27 Jun 2017, 5:04 PM
#44
nick1973 avatar

nick1973

Totally Zenned

Join Date:
Sep 2008
Location:
Cleethorpes
Posts:
1,230
Plugin Contributions:
3

Re: "View All" link

This might be one for Ajeh - Although obviously any help is welcome

I am wanting to implement a view all button on the Products Listing. I had something similar working which you can see here on this site https://www.tapes-direct.co.uk/index.php?main_page=index&cPath=131_156

You will see a View All Products Button.

I added this by adjusting the code in split_pages_results.php

Just after

if (zen_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&';

I added:

if (!$this->page_all) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . 'all', $request_type) . '" title=" ' . SHOW_ALL_TITLE . ' ">' . SHOW_ALL_BUTTON . '</a>  ';
else $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters, $request_type) . '" title=" ' . SHOW_PAGEVIEW_TITLE . ' ">' . SHOW_PAGEVIEW_BUTTON . '</a>  ';

This works fine on Tapes Direct, which is running 1.5.4. However on 1.5.5e it doesn't work, in fact doesn't show the button at all.

I have also tried some of the methods in this thread, but none of them seem to work with 1.5.5e

27 Jun 2017, 5:15 PM
#45
nick1973 avatar

nick1973

Totally Zenned

Join Date:
Sep 2008
Location:
Cleethorpes
Posts:
1,230
Plugin Contributions:
3

Re: "View All" link

Nick1973:

This might be one for Ajeh - Although obviously any help is welcome

I am wanting to implement a view all button on the Products Listing. I had something similar working which you can see here on this site https://www.tapes-direct.co.uk/index.php?main_page=index&cPath=131_156

You will see a View All Products Button.

I added this by adjusting the code in split_pages_results.php

Just after

if (zen_not_null($parameters) && (substr($parameters, -1) != '&')) $parameters .= '&';

I added:

if (!$this->page_all) $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters . $this->page_name . '=' . 'all', $request_type) . '" title=" ' . SHOW_ALL_TITLE . ' ">' . SHOW_ALL_BUTTON . '</a>####';
else $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters, $request_type) . '" title=" ' . SHOW_PAGEVIEW_TITLE . ' ">' . SHOW_PAGEVIEW_BUTTON . '</a>####';

This works fine on Tapes Direct, which is running 1.5.4. However on 1.5.5e it doesn't work, in fact doesn't show the button at all.

I have also tried some of the methods in this thread, but none of them seem to work with 1.5.5e

This is in english.php as well:

define('SHOW_ALL_TITLE', 'Show All Products on One Page');
define('SHOW_ALL_BUTTON', '<div class="pageViewButton">View All Products</div>');
define('SHOW_PAGEVIEW_TITLE', 'Show 6 Products Per Page');
define('SHOW_PAGEVIEW_BUTTON', '<div class="pageViewButton">View as Split Pages</div>');

28 Jun 2017, 11:05 AM
#46
nick1973 avatar

nick1973

Totally Zenned

Join Date:
Sep 2008
Location:
Cleethorpes
Posts:
1,230
Plugin Contributions:
3

Re: "View All" link

Got this working in the end using the code supplied by asdf on page 3