• Welcome to Tux Reports: Where Penguins Fly. We hope you find the topics varied, interesting, and worthy of your time. Please become a member and join in the discussions.
Resource icon

HowTo: Add a dynamic footer to XenForo

The footer on XenForo forum software may be modified to include the latest five resources to the resource manager and the latest five threads added to the community.

This is the look of the final work.

Tools:

Text editor
FTP software

Screen Shot 2013-06-14 at 1.41.17 PM.png


WARNING: Create this add-on locally first. Do not edit on a live site.

Step 1: Create the file /library/TuxFooter/Listener/Footer.php

Step 2: Add the following into the Footer.php file

PHP:
<?php

class TuxFooter_Listener_Footer {

    public static function includeTuxFooter($hookName, &$contents, array $hookParams, XenForo_template_Abstract $template) {

        if($hookName == 'ad_below_bottom_breadcrumb') {

            ob_start();

            ?>
            <div class="forum_footer">

            <div class="forum_posts_leftside">

            <h3>latest tux reports network resources</h3>

            <?php



            /* Script to pull the latest updated resources from the XF Resource Manager */

            /** @var $resModel  XenResource_Model_Resource */
            $resModel = XenForo_Model::create('XenResource_Model_Resource');
            $fetchOptions = array('limit' => 5, 'order' => 'resource_date', 'direction' => 'desc');

            $rmupdates = $resModel->getResources(array(), $fetchOptions);

            foreach ($rmupdates AS $rmupdate) {
                echo ("<div class='entry-meta'><a href='http://community.tuxreportsnetwork.com/" . XenForo_Link::buildPublicLink('resources', $rmupdate) . "' >" . XenForo_Helper_String::wholeWordTrim($rmupdate['title'], 55) . "</a> <br /></div>"); // Echo the title with a link.
            }



            ?>

                    </div><!-- Close forum_posts_leftside -->

                    <div class="forum_posts">

                        <h3>latest posts from our community</h3>

                        <?php

                        /* Script to pull the latest posts from the XF Forum */

                        $db = XenForo_Application::getDb();

                        if ( !$db ) {

                            die( 'This script did not connect to the database' . mysql_error() );
                        }

                        $thread_qry = "
                                    SELECT * FROM `xf_thread`
                                    ORDER BY `last_post_date` DESC
                                    LIMIT 5
                                    ";

                        $threads = XenForo_Application::get('db')->fetchAll($thread_qry);

                        foreach (    $threads AS $thread ) {

                            echo ("<div class='entry-meta'><a href='http://community.tuxreportsnetwork.com/" . XenForo_Link::buildPublicLink('threads', $thread) . "' >" . XenForo_Helper_String::wholeWordTrim($thread['title'], 48) . "</a> <span style='float:right; margin-right:60px'>Viewed: " . $thread['view_count']
                                    . "</span><br /></div>"); // Echo the title with a link.

                        }

                        ?>

                    </div><!-- Close forum_posts -->

                </div><!-- Forum Footer -->
<?php
                $contents .= ob_get_contents();
                ob_end_clean();
            }

    }

}
?>

Adjust the links for the links so that they match your website.

Step 3: Enable development for your community

Edit the /library/config.php
Add the line
PHP:
$config['debug'] = true;
Save the file

Step 4: Log into your community's admin panel.

Step 5: Create the add-n

development > Create Add-on

Screen Shot 2013-06-14 at 1.49.32 PM.png


Step 6: Create the listener

Add the information as shown in the image. Save Event Listener.

Screen Shot 2013-06-14 at 1.52.13 PM.png


Step 7: Test the loading of your site. Did the footer now show?

Step 8: Add the CSS information to your liking.

Step 9: Comment out the debug information in the /library/config.php file.

If you are able to do this work locally then complete the same steps on your live site.
  • Like
Reactions: Pokschubin
Author
LPH
Views
473
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from LPH

Top