1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

HowTo: Add a dynamic footer to XenForo 1.0

Add title and links to the latest five resources and community threads to the bottom of XF

  1. LPH
    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.

    Constraints: You must own the resource manager and have it installed.

    Tools:
    • Text editor
    • FTP software
    This is the look of the final work.
    Screen Shot 2013-06-14 at 1.40.59 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 $hookParamsXenForo_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 hyperlinks 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-on

    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 line in the /library/config.php file.

    If you are able to do this work locally then complete the same steps on your live site.

    This is my first add-on modification. I am not an expert but learning. Please do not PM me for help but ask in the discussion. ;)
    smimosmile and bousaid like this.

Recent Reviews

  1. boooooo
    boooooo
    5/5,
    Version: 1.0
    Excellent
    1. LPH
      Author's Response
      Glad this is working for you. Please don't forget to add a link to your work so others can see it in action.