New Beta Forum - Help us test!

74 posts by 20 authors in: Forums > CMS Builder
Last Post: October 8, 2013   (RSS)

By ht1080z - January 13, 2013

Hello Jerry,

Thank you for you post, i already have this code and its very usefull. My latest created website have listing page with more that 800 item, 10 per page. i need something like this new forum script use (First   Prev   4   5   6   7   8   9   10   Next   Last ) so i can see only 7-10 page numbers with first, last, prev and next links.

Karls

By weblm - January 13, 2013

Karls,

Here's code that I'm using that's "closer" to the forum code....not exact, but maybe it will help you get waht you need.

            <!-- START PAGINATION CODE -->
            <div class="pagelinks" align="center">
                <?php  
                    if (@!$_GET['page']): $current_page = "1";
                    else: $current_page = $_GET['page'];    
                endif;  ?>
                    
                <?php
                    $startNumber = max($current_page - 2, 1);
                    $endNumber   = min($current_page + 2, $your_tableMetaData['totalPages']);
                ?>

                <?php if ($your_tableMetaData['prevPage']): ?>
                    <a href="<?php echo $your_tableMetaData['prevPageLink'] ?>"><img src="/images/arrow-left.png" border="0" /> prev</a>&nbsp;&nbsp;&nbsp;
                    <?php if ($startNumber > '1'): ?>
                        <a href="?<?php echo http_build_query(array_merge($_REQUEST, array( 'page' => '1' ))) ?> ">1</a> ...
                    <?php endif ?>
                <?php else: ?>
                    &nbsp;  
                <?php endif ?>    

            <?php foreach (range($startNumber,$endNumber) as $page): ?>
                
                    <?php if ($page == $current_page): ?>
                     <b>[<?php echo $page; ?>]</b>
                    <?php else: ?>
                     <a href="?<?php echo http_build_query(array_merge($_REQUEST, array( 'page' => $page ))) ?>"><?php echo $page; ?></a>
                    <?php endif ?>
            
                <?php endforeach; ?>
                
                
                <?php if ($your_tableMetaData['nextPage']): ?>
                    <?php if ($your_tableMetaData['totalPages'] > $endNumber): ?>
                        ... <a href="?<?php echo http_build_query(array_merge($_REQUEST, array( 'page' => $your_tableMetaData['totalPages'] ))) ?> "><?php echo $your_tableMetaData['totalPages'];?></a>
                    <?php endif ?>
                        &nbsp;&nbsp;&nbsp;<a href="<?php echo $your_tableMetaData['nextPageLink'] ?>">next <img src="/images/arrow-right.png" border="0" /></a>  
                    <?php else: ?>   
                        &nbsp;  
                <?php endif ?>                            
            </div>
            <!-- /END PAGINATION CODE -->

-Kevin

LM

By ht1080z - January 14, 2013

Hi Kevin,

Thank you for this script! Beautiful solution!

Karls

By sidcam - January 15, 2013

I've experienced the same thing as wizzle.  Perhaps you could have an Advanced Search button with a dropdown or popup for better defining searches.

Two things:

1) Can you make it so when you click on a column header it sorts by that column in an alternating asending/decending mode?  It would make it easier to find things.

2) Discovered an oddity (not a major issue or a problem).  When I look at my profile's posts it appears they sort by the full date except posts from the Article Manager forum which appear to be showing up based on month/day only.  I attached a photo of a 2010 Article Manager post mingled in with my current posts so you can see what I'm talking about.

Attachments:

cmsb-forum.jpg 63K

By Chris - January 17, 2013

@everyone: Message received: if we add Unread Topics, it'll have to work cross-device. Thanks for the input!

@ht1080z: The code I used is very similar to weblm's, but $startNumber and $endNumber were generated like this:

// get range of page numbers
$maxLinks = 7;
$selectedPage = $recordsMetaData['page'];
$startNumber = $selectedPage;
$endNumber = $selectedPage;
while ($maxLinks > 1) {
  $match = false;
  if ($endNumber < $recordsMetaData['totalPages'] && --$maxLinks) { $endNumber++; $match = true; }
  if ($startNumber > 1 && --$maxLinks) { $startNumber--; $match = true; }
  if (!$match) { break; }
}

@wizzle: Excellent point, thanks! I'll add that to my list.

@sidcam: I'll add your #1 to the list too. Thanks for #2, I've fixed that.

All the best,
Chris

By Chris - January 31, 2013 - edited: January 31, 2013

Hi Everyone,

We've improved the Forum WYSIWYG's Code button. You can now paste multiple lines of code into a Code block and have your whitespace preserved, and extra (empty) paragraphs are inserted at the top and bottom so that you won't get stuck in a Code block so easily. There were also a few other tweaks for behaviour that was confusing or frustrating.

/*
  I pasted this in!
*/

Right now, there's one known issue with IE with long lines causing the editor to scroll instead of the Code block.

We've also disabled the Spellchecker plugin and enabled browser spellchecking.

Please let us know if you have any feedback!

All the best,
Chris

Thank you all for keeping up with this.

I think the spellchecker will be make a big difference. So will the code block fixes.

Jerry Kornbluth

The first CMS Builder reference book is now available on-line!







Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php

By Djulia - January 31, 2013

Hi,

I had this error by visiting the forum and after having used the back button of the browser :

Couldn't start session! 'session_start(): ps_files_cleanup_dir: opendir(/var/lib/php/session) failed: Permission denied (13)'!

Djulia

By Chris - February 1, 2013

Thanks, Djulia! We'll look into that.

All the best,
Chris