Thread: "View All" link

Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 46
  1. #21
    Join Date
    Jan 2006
    Posts
    229
    Plugin Contributions
    0

    Default Re: "View All" link

    I have this working on one site - but now I'm doing a new one and using this again. I must have a setting in the old site that's different in this new one, because no matter how I set the display, it'll only show 12 items.

    In my admin area, I have it set to display 12 items max - which it does - but when I use this script and choose "View All", it still only shows 12 items.

    Could someone nudge me towards whatever I'm forgetting to do here? :)

  2. #22
    Join Date
    Apr 2007
    Posts
    649
    Plugin Contributions
    0

    Default Re: "View All" link

    I tried this but I don't think I had the defines correct. When I did it, it came up with two lines of page 1, 2, 3, 4, etc and two lines of Displaying 1 to 10 (of 34 products)
    And when I hit the view all link it took off all my items.
    Any idea what I did wrong?
    Thanks

  3. #23
    Join Date
    Dec 2007
    Location
    Hoboken, NJ
    Posts
    96
    Plugin Contributions
    1

    Default Re: "View All" link

    I was able to get the changes on my site and display everything as expected. The only issue is no matter what option I choose I am always restricted to 9 items. Can you confirm that the following URL would work in 1.3.8a?


    /index.php?main_page=index&cPath=53&override=more

    Specifically the "override=more" parameter.


  4. #24
    Join Date
    Dec 2007
    Location
    Hoboken, NJ
    Posts
    96
    Plugin Contributions
    1

    Default Re: "View All" link

    I was able to come up with something using information I found on this forum. For the next person that is looking for a view all option, you can use the follow code and it will work in both category and manufacturer sections.




    Replace the following code in tpl_modules_product_listing.php...

    Code:
    <div id="productsListingTopNumber" class="navSplitPagesResult back"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></div>
    <div id="productsListingListingTopLinks" class="navSplitPagesLinks forward"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, zen_get_all_get_params(array('page', 'info', 'x', 'y', 'main_page'))); ?></div>

    with...

    Code:
    <div id="productsListingTopNumber" class="navSplitPagesResult back"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></div>
    <div id="productsListingListingTopLinks" class="navSplitPagesLinks forward"><?php if ($max_results < 99)
    {
    $linkstuff = zen_href_link(FILENAME_DEFAULT, zen_get_all_get_params(array('page', 'info', 'x', 'y'))) . '&viewall=99';
     echo '<a href="' . $linkstuff . '">[View all]</a>';
    }
    
    
    echo $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, zen_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></div>


    You will also need to modify product_listing.php by adding...


    Code:
    $lookuptext = array('viewall=99');
    foreach($lookuptext as $templut)
    {
    if(strpos($_SERVER["REQUEST_URI"], $templut)!==false)
    {
    $max_results = 99;
    }
    }
    at the top of the page after...

    Code:
    $max_results = (PRODUCT_LISTING_LAYOUT_STYLE=='columns' && PRODUCT_LISTING_COLUMNS_PER_ROW>0) ? (PRODUCT_LISTING_COLUMNS_PER_ROW * (int)(MAX_DISPLAY_PRODUCTS_LISTING/PRODUCT_LISTING_COLUMNS_PER_ROW)) : MAX_DISPLAY_PRODUCTS_LISTING;

    I am sure this isn't the best way of doing it but it works for me.


    Cal

  5. #25
    Join Date
    Sep 2006
    Posts
    91
    Plugin Contributions
    0

    Default Re: "View All" link

    Hi
    I want to add a new options on product_listing page. For [view all] which can be next to the page numbers how can i do it. My website is www.yenmax.com Please help

    Thanks

  6. #26
    Join Date
    Jan 2008
    Posts
    5
    Plugin Contributions
    0

    Default Re: "View All" link

    Not sure if anyone is still maintaining this thread...but I wanted to say I was able to successfully implement the View All link using methods discussed.

    It works swimmingly, but have problem with search.

    When displaying the results of the search, the View All link is displayed, but it fails because URL for search is different than product info URL.

    thoughts?

  7. #27
    Join Date
    Mar 2004
    Posts
    3
    Plugin Contributions
    0

    Idea or Suggestion Re: "View All" link

    Hey guys.
    I'm not going to give you any fancy explainations, I just hacked classes/split_page_results.php to give me a "Show all" button and it works flawlessy. I'm in a short amount of time here but as I'd love to contribute I'm going to paste my split_page_results.php as is.

    Code:
    <?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>&nbsp;&nbsp;';
        else $display_links_string .= '<a href="' . zen_href_link($_GET['main_page'], $parameters, $request_type) . '" title=" ' . SHOW_PAGEVIEW_TITLE . ' ">' . SHOW_PAGEVIEW_BUTTON . '</a>&nbsp;&nbsp;';
    
        // 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>&nbsp;&nbsp;';
    
        // 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 .= '&nbsp;<strong class="current">' . $jump_to_page . '</strong>&nbsp;';
          } else {
            $display_links_string .= '&nbsp;<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>&nbsp;';
          }
        }
        }
    
        // 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>&nbsp;';
    
        // next button
        if (($this->current_page_number < $this->number_of_pages) && ($this->number_of_pages != 1)) $display_links_string .= '&nbsp;<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>&nbsp;';
    
        if ($display_links_string == '&nbsp;<strong class="current">1</strong>&nbsp;') {
          return '&nbsp;';
        } 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);
        }
      }
    }
    ?>
    As you can see there's four defines you'll have to define. This ugly hack works on all pages with splitting (search, category view, featured products, etc). This file is the only file you'll need to change (except for the defines), no other changes (e.g with templates etc) are needed!
    Hope it'll work out for you guys!

    // Sebban

  8. #28

    Default Re: "View All" link

    I tried the method posted directly above by Sebban and it works great. I have confirmed that the "Show All" link does appear on all pages with splitting, even the search pages. Below is an example of the four defines you could insert in includes/languages/YOUR_TEMPLATE/english.php:

    PHP Code:
        define('SHOW_ALL_TITLE''Show All Products on One Page');
        
    define('SHOW_ALL_BUTTON''[Show All]');
        
    define('SHOW_PAGEVIEW_TITLE''Split Products Among Multiple Pages');
        
    define('SHOW_PAGEVIEW_BUTTON''[Split Pages]'); 

  9. #29
    Join Date
    May 2008
    Posts
    31
    Plugin Contributions
    0

    Default Re: "View All" link

    hi

    iZilla_Pod how to hide the link "show all" when is only one page??

  10. #30
    Join Date
    Jun 2006
    Posts
    111
    Plugin Contributions
    0

    Default Re: "View All" link

    This worked like a charm for me, Sebban. Thank you!
    -------------------------
    Dichroic Jewelry

 

 
Page 3 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. View "All Products" and "New Products" in columns?
    By cchan in forum Templates, Stylesheets, Page Layout
    Replies: 6
    Last Post: 24 Feb 2011, 01:58 AM
  2. How to get a "View All" link per category?
    By cchan in forum Templates, Stylesheets, Page Layout
    Replies: 0
    Last Post: 17 Feb 2011, 06:15 PM
  3. How to remove "contact us", "My account" , and "view cart"?
    By thestampnomad in forum Basic Configuration
    Replies: 2
    Last Post: 13 Aug 2010, 07:55 PM
  4. Comment out "Check for Updates" Button, "Support Site" Link, & "Version" Link?
    By g00glethis1 in forum Customization from the Admin
    Replies: 4
    Last Post: 15 Mar 2010, 06:32 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR