How to add titles under images in Portfolio style NSP

Rate this topic: Evaluations: 0, 0.00 on the average.Evaluations: 0, 0.00 on the average.Evaluations: 0, 0.00 on the average.Evaluations: 0, 0.00 on the average.Evaluations: 0, 0.00 on the average.Evaluations: 0, 0.00 on the average.
GK User
Fri Feb 13, 2015 4:51 pm
Reply with quote
Report this post
Referring to your documentation on News Show Pro GK5https://www.gavick.com/documentation/joomla-extensions/modules-for-joomla-3-x/how-to-add-titles-under-images-in-portfolio-style-nsp

It said we can change the codes of mod_news_pro_gk5\portal_modes\portfolio\controller.php at line 39:
Code: Select all
echo ''.$this->parent->content[$i]['title'].'</a>';


However, I cannot search this code in my copy of the file.

My copy of the file is
Code: Select all
<?php

/**
* Portfolio Portal Mode
* @package News Show Pro GK5
* @Copyright (C) 2009-2013 Gavick.com
* @ All rights reserved
* @ Joomla! is Free Software
* @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @version $Revision: GK5 1.3.3 $
**/

// access restriction
defined('_JEXEC') or die('Restricted access');

class NSP_GK5_Portfolio {
   // necessary class fields
   private $parent;
   private $mode;
   // constructor
   function __construct($parent) {
      $this->parent = $parent;
      // detect the supported Data Sources
      if(stripos($this->parent->config['data_source'], 'com_content_') !== FALSE) {
         $this->mode = 'com_content';
      } else if(stripos($this->parent->config['data_source'], 'k2_') !== FALSE) {
         $this->mode = 'com_k2';
      } else if(stripos($this->parent->config['data_source'], 'easyblog_') !== FALSE) {
         $this->mode = 'com_easyblog';
      } else {
         $this->mode = false;
      }
   }
   // static function which returns amount of articles to render - VERY IMPORTANT!!
   static function amount_of_articles($parent) {
      return $parent->config['portal_mode_portfolio_cols'] * $parent->config['portal_mode_portfolio_rows'] * $parent->config['portal_mode_portfolio_pages'];
   }
   // output generator   
   function output() {
      // amount
      $amount = 0;   
      // main wrapper
      echo '<div class="gkNspPM gkNspPM-Portfolio'.(($this->parent->config['portal_mode_portfolio_initial_anim'] == '0') ? ' noInitialAnim' : '').'" data-cols="'.$this->parent->config['portal_mode_portfolio_cols'].'" data-rows="'.$this->parent->config['portal_mode_portfolio_rows'].'">';
      // images wrapper
      echo '<div class="gkImagesWrapper gkImagesCols'.$this->parent->config['portal_mode_portfolio_cols'].' animate_queue">';
      // JSON data array
      $jsondata = array();
      // render images      
      for($i = 0; $i < count($this->parent->content); $i++) {         
         if($this->get_image($i)) {
            if($amount < ($this->parent->config['portal_mode_portfolio_cols'] * $this->parent->config['portal_mode_portfolio_rows'])) {
               echo '<a href="'.$this->get_link($i).'" title="'.strip_tags($this->parent->content[$i]['title']).'" class="gkImage animate_queue_element active">';
               echo '<img src="'.strip_tags($this->get_image($i)).'" alt="'.strip_tags($this->parent->content[$i]['title']).'" />';
               echo '</a>';
               // increase the amount
               $amount++;
            } else {
               array_push($jsondata, array(
                     'title' => str_replace("'", "\'", strip_tags($this->parent->content[$i]['title'])),
                     'link' => $this->get_link($i),
                     'src' => strip_tags($this->get_image($i))
                  )
               );
            }
         }      
      }
      // closing images wrapper
      echo '</div>';
      if($this->parent->config['portal_mode_portfolio_link'] == '1') {
         if(count($jsondata) == 0) {
            echo '<a href="'.$this->parent->config['portal_mode_portfolio_link_url'].'" class="gkLoadMore border bigbutton" data-text="false">'.JText::_('MOD_NEWS_PRO_GK5_PORTAL_MODE_PORTFOLIO_LINK_TEXT2').'</a>';
         } else {
            echo '<a href="'.$this->parent->config['portal_mode_portfolio_link_url'].'" class="gkLoadMore border bigbutton" data-text="'.JText::_('MOD_NEWS_PRO_GK5_PORTAL_MODE_PORTFOLIO_LINK_TEXT2').'" data-toload="'.str_replace('"', '\'', json_encode($jsondata)).'" data-max="'.count($jsondata).'">'.JText::_('MOD_NEWS_PRO_GK5_PORTAL_MODE_PORTFOLIO_LINK_TEXT1').'</a>';
         }
      }
      // closing main wrapper
      echo '</div>';
   }
   // function used to retrieve the item URL
   function get_link($num) {
      if($this->mode == 'com_content') {
         return ($this->parent->content[$num]['id'] != 0) ? JRoute::_(ContentHelperRoute::getArticleRoute($this->parent->content[$num]['id'], $this->parent->content[$num]['cid'])) : JRoute::_('index.php?option=com_users&view=login');
      } else if($this->mode == 'com_k2') {
         //
         require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'route.php');
         //
         return urldecode(JRoute::_(K2HelperRoute::getItemRoute($this->parent->content[$num]['id'].':'.urlencode($this->parent->content[$num]['alias']), $this->parent->content[$num]['cid'].':'.urlencode($this->parent->content[$num]['cat_alias']))));
      } else if($this->mode == 'com_easyblog') {
         //
         require_once (JPATH_SITE.DS.'components'.DS.'com_easyblog'.DS.'helpers'.DS.'router.php');
         //
         return urldecode(JRoute::_(EasyBlogRouter::getEntryRoute($this->parent->content[$num]['id'])));
      } else {
         return false;
      }
      
   }
   // image generator
   function get_image($num) {      
      // used variables
      $url = false;
      $output = '';
      // select the proper image function
      if($this->mode == 'com_content') {
         // load necessary com_content View class
         if(!class_exists('NSP_GK5_com_content_View')) {
            require_once(JModuleHelper::getLayoutPath('mod_news_pro_gk5', 'com_content/view'));
         }
         // generate the com_content image URL only
         $url = NSP_GK5_com_content_View::image($this->parent->config, $this->parent->content[$num], true, true);
      } else if($this->mode == 'com_k2') {
         // load necessary k2 View class
         if(!class_exists('NSP_GK5_com_k2_View')) {
            require_once(JModuleHelper::getLayoutPath('mod_news_pro_gk5', 'com_k2/view'));
         }
         // generate the K2 image URL only
         $url = NSP_GK5_com_k2_View::image($this->parent->config, $this->parent->content[$num], true, true);
      } else if($this->mode == 'com_easyblog') {
         // load necessary EasyBlog View class
         if(!class_exists('NSP_GK5_com_easyblog_View')) {
            require_once(JModuleHelper::getLayoutPath('mod_news_pro_gk5', 'com_easyblog/view'));
         }
         // generate the EasyBlog image URL only
         
         $url = NSP_GK5_com_easyblog_View::image($this->parent->config, $this->parent->content[$num], true, true);
      }
      // check if the URL exists
      if($url === FALSE) {
         return false;
      } else {
         // if URL isn't blank - return it!
         if($url != '') {
            return $url;
         } else {
            return false;
         }
      }
   }
}

// EOF


May you suggest how to do it?

Many thanks.

Seth
User avatar
Junior Boarder

teitbite
Sat Feb 14, 2015 12:44 pm
Reply with quote
Report this post
Hi

Look for a line:

Code: Select all
// increase the amount


title line should be directly over it.

Code: Select all
echo '<h4>'.$this->parent->content[$i]['title'].'</h4>';
User avatar
Moderator

GK User
Sun Feb 15, 2015 12:09 pm
Reply with quote
Report this post
I tried that it does not work.

Any suggestion?

Is it possible to let the title name appear at the overlay of the animation? This will be much better for my purpose.

Many thanks.
User avatar
Junior Boarder

teitbite
Mon Feb 16, 2015 3:53 pm
Reply with quote
Report this post
Hi

Please send me an access to ftp and url to Your site. I'll try.
User avatar
Moderator


cron