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

Dynamic Content in Template Footer

Discussion in 'Styling and Customization Questions' started by LPH, Jun 13, 2013.

  1. LPH

    LPH Well-Known Member

    I realize XF 1.2 may change the answer to this question, so maybe I should just wait on this project until 1.2 is available... but ...

    I want the last 5 threads and last 5 resources to show in the XF footer - just as it does on the WordPress side.

    Since this is dynamic content generated by XF, is there a way to get this information into the footer template without doing a callback to a php page?


    Should I move the code in the footer.php of the WordPress into its own php file and place it within XenForo library directory then do a callback?
  2. LPH

    LPH Well-Known Member

    After watching several videos and doing a bit more reading, this thread sort of brings to light how to build a static footer. My interest is a dynamic footer; that is, pulling the latest threads and resources.
    Please look these steps over and let me know if this is the right track....

    Step 1: create /library/TuxFooter/Listener/Footer.php


    class TuxFooter_Listener_Footer {

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

    $hookName == 'footer') {


           <div class="forum_footer">

           <div class="forum_posts_leftside">

           <h3>The latest tablet resources</h3>


    /* 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>The following posts are from our community</h3>


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

    $db XenForo_Application::getDb();

                 if ( !
    $db ) {

    '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 -->
    .= ob_get_contents();



    Step 2. Enable development mode
    Step 3. Go into admin->create add-on
    Step 4. Create Listener

    Is this the right track? Is this the best way to get a dynamic footer? Is there an easier way? Sorry - I couldn't figure out how to do dynamic in the footer template - is that possible?
    Last edited: Jun 14, 2013
  3. LPH

    LPH Well-Known Member

    Got it working. Will update code. (y)
    Last edited: Jun 14, 2013
  4. LPH

    LPH Well-Known Member

    OK. It isn't quite right. The footer is ending up below some things. Is there s a different hook?


    Update: In case someone trips over this thread, the template hook to use is not footer but ad_below_bottom_breadcrumb. This works out much nicer.
    Last edited: Jun 14, 2013

Share This Page