Page 1 of 2

Gantry framework

Posted: 12 Jul 2011, 16:53
by ttsvgel.it
I would to know if Gantry (a templating framework for Joomla) is compatible with Phoca pdf component.
I installed Phoca pdf component and plugin on my site (www.vitopalumbo.it), but no pdf icon visible in my articles.

Re: Gantry framework

Posted: 12 Jul 2011, 22:56
by Jan
Hi, I don't know Gantry, mostly the PDF function is not dependent on template, only in case the template overrides the MVC of contents, then instead of cutomizing the article part, the template part should be used, see:
https://www.phoca.cz/documents/47-phoca- ... -and-usage

Jan

Re: Gantry framework

Posted: 09 Aug 2011, 17:01
by bjornkock
I had the same issues. Took me a while, but I got it to work with the following custom edits to Gantry.

First

../libraries/gantry/css/joomla.css
add this to the end

Code: Select all

//* PhocaPDF Custom Edits *//
.component-content .pdf-icon a {background-position: -32px 0;} 
this will point to the correct pdf-icon

next

../administrator/components/com_phocapdf/helpers/phocapdf.php
change line 84
from:

Code: Select all

$output = '<li class="print-icon">'
to

Code: Select all

$output = '<li class="pdf-icon">'
this will ensure correct icon display in Gantry template

next

../templates/rt_gantry_j16/html/com_content/article/default.php
Add/edit lines 41-44
from:

Code: Select all

<?php /** Begin Article Icons **/ if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
			<div class="rt-article-icons">
				<ul class="actions">
				<?php if (!$this->print) : ?>
to

Code: Select all

<?php
$phocaPDF = false;
if (JPluginHelper::isEnabled('phocapdf', 'content')) {
    include_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_phocapdf'
      .DS.'helpers'.DS.'phocapdf.php');
    $phocaPDF = PhocaPDFHelper::getPhocaPDFContentIcon($this->item, 
      $params);
}
?>

<?php /** Begin Article Icons **/ if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon') || $phocaPDF) : ?>
			<div class="rt-article-icons">
				<ul class="actions">
                  <?php echo $phocaPDF; ?>
				<?php if (!$this->print) : ?>
worked for me. I hope it works for you, too.

Re: Gantry framework

Posted: 11 Aug 2011, 17:44
by genman
bjornkock wrote:I had the same issues. Took me a while, but I got it to work with the following custom edits to Gantry.

worked for me. I hope it works for you, too.
Hi,


I followed the instructions and now I am getting two print icons with the 2nd one which does PDF but looks like a printer, how do I convert the second icon to PDF?


My phocapdf.php is:

Code: Select all

<?php
/*
 * @package		Joomla.Framework
 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 *
 * @component Phoca Component
 * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
 */
 
include_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_phocapdf'.DS.'helpers'.DS.'phocapdfbrowser.php');
defined('_JEXEC') or die();
class PhocaPDFHelper
{

	/*
	 * components/com_content/helpers/icon.php
	 */
	public function getPhocaPDFContentIcon($item, $params, $attribs = array()) {
		
		$lang		= JFactory::getLanguage();
		$lang->load('plg_phocapdf_content', JPATH_ADMINISTRATOR, $lang->getDefault(), false, false);
		
		// Plugin Parameters
		jimport( 'joomla.html.parameter' );
	 	//$pluginP 	= new JParameter( $plugin->params );
		$plugin 	= JPluginHelper::getPlugin('phocapdf', 'content');
		$pluginP 	= new JRegistry();
		$pluginP->loadJSON($plugin->params);
		
		$exclude_articles 	= $pluginP->get('exclude_articles', '');
		$exclude_categories = $pluginP->get('exclude_categories', '');
		
		$exclude_articles 	= explode(',', $exclude_articles );
		$exclude_categories = explode(',', $exclude_categories );
		if(isset($item->catid) && in_array($item->catid, $exclude_categories)) {
			return "";
		}
		if(isset($item->id) && in_array($item->id, $exclude_articles)) {
			return "";
		}
		
		$pdfDest	= $pluginP->get('pdf_destination', 'S');
		
		$status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,'
				 .'resizable=yes,width=640,height=480,directories=no,location=no';
		
		if ($pdfDest == 'I' || $pdfDest == 'D') {
			$attribs['onclick'] = '';
		} else {
			$browser = PhocaPDFHelperBrowser::browserDetection('browser');
			if ($browser == 'msie7' || $browser == 'msie8') {
				$attribs['onclick'] = '';
				$attribs['target'] 	= '_blank';
			} else {
				$attribs['onclick'] = "window.open(this.href,'win2','".$status."'); return false;";
			}
		}
		
		$url  = ContentHelperRoute::getArticleRoute($item->slug, $item->catid);
		$url .= '&tmpl=component&format=pdf';//&page='.@ $request->limitstart;

		// checks template image directory for image, if non found default are loaded
		if ($params->get('show_icons')) {
			$text = JHTML::_('image','components/com_phocapdf/assets/images/pdf_button.png', JText::_('PLG_PHOCAPDF_CONTENT_PDF'));
		} else {
			if ($params->get('show_print_icon')) {
				//$sep = JText::_('JGLOBAL_ICON_SEP');
				$sep = '';
			} else if ($params->get('show_email_icon')) {
				$sep = JText::_('JGLOBAL_ICON_SEP');
			} else {
				$sep = '';
			}
			$text = '&#160;'. JText::_('PLG_PHOCAPDF_CONTENT_PDF') .'&#160;'. $sep;
		}

		$attribs['title']	= JText::_('PLG_PHOCAPDF_CONTENT_PDF');
		
		$attribs['rel']		= 'nofollow';

		
		$output = '<li class="pdf-icon">'
		. JHTML::_('link',JRoute::_($url), $text, $attribs)
		.'</li>';
		return $output;
	}


	function renderFTPaccess() {
	
		$ftpOutput = '<fieldset title="'.JText::_('COM_PHOCAPDF_FTP_LOGIN_LABEL'). '">'
		.'<legend>'. JText::_('COM_PHOCAPDF_FTP_LOGIN_LABEL').'</legend>'
		.JText::_('COM_PHOCAPDF_FTP_LOGIN_DESC')
		.'<table class="adminform nospace">'
		.'<tr>'
		.'<td width="120"><label for="username">'. JText::_('JGLOBAL_USERNAME').':</label></td>'
		.'<td><input type="text" id="username" name="username" class="input_box" size="70" value="" /></td>'
		.'</tr>'
		.'<tr>'
		.'<td width="120"><label for="password">'. JText::_('JGLOBAL_PASSWORD').':</label></td>'
		.'<td><input type="password" id="password" name="password" class="input_box" size="70" value="" /></td>'
		.'</tr></table></fieldset>';
		return $ftpOutput;
	}
	
	
	function getPhocaInfo($pdf = 1) {
		$params = JComponentHelper::getParams('com_phocapdf') ;
		$pdf 	= $params->get( 'pdf_id', 1);
		if ($pdf == 1) {
			return '<'.'a'.' '.'s'.'t'.'y'.'l'.'e'.'='.'"'.'c'.'o'.'l'.'o'.'r'.':'.' '.'r'.'g'.'b'.'('.'1'.'7'.'5'.','.'1'.'7'.'5'.','.'1'.'7'.'5'.')'.'"'.' '.'h'.'r'.'e'.'f'.'='.'"'.'h'.'t'.'t'.'p'.':'.'/'.'/'.'w'.'w'.'w'.'.'.'p'.'h'.'o'.'c'.'a'.'.'.'c'.'z'.'/'.'p'.'h'.'o'.'c'.'a'.'p'.'d'.'f'.'"'.'>'.'P'.'h'.'o'.'c'.'a'.' '.'P'.'D'.'F'.'<'.'/'.'a'.'>';
		} else {
			return '';
		}
	}



	function getPhocaVersion($component) {
		$folder = JPATH_ADMINISTRATOR .DS. 'components'.DS.$component;
		if (JFolder::exists($folder)) {
			$xmlFilesInDir = JFolder::files($folder, '.xml$');
		} else {
			$folder = JPATH_SITE .DS. 'components'.DS.$component;
			if (JFolder::exists($folder)) {
				$xmlFilesInDir = JFolder::files($folder, '.xml$');
			} else {
				$xmlFilesInDir = null;
			}
		}

		$xml_items = '';
		if (count($xmlFilesInDir))
		{
			foreach ($xmlFilesInDir as $xmlfile)
			{
				if ($data = JApplicationHelper::parseXMLInstallFile($folder.DS.$xmlfile)) {
					foreach($data as $key => $value) {
						$xml_items[$key] = $value;
					}
				}
			}
		}
		
		if (isset($xml_items['version']) && $xml_items['version'] != '' ) {
			return $xml_items['version'];
		} else {
			return '';
		}
	}
	
}

class PhocaPDFCell
{
	function setCell($pdf = 1) {
		$params = JComponentHelper::getParams('com_phocapdf') ;
		$pdf 	= $params->get( 'pdf_id', 1);
		if ($pdf == 1) {
			return '<'.'a'.' '.'s'.'t'.'y'.'l'.'e'.'='.'"'.'c'.'o'.'l'.'o'.'r'.':'.' '.'r'.'g'.'b'.'('.'1'.'7'.'5'.','.'1'.'7'.'5'.','.'1'.'7'.'5'.')'.'"'.' '.'h'.'r'.'e'.'f'.'='.'"'.'h'.'t'.'t'.'p'.':'.'/'.'/'.'w'.'w'.'w'.'.'.'p'.'h'.'o'.'c'.'a'.'.'.'c'.'z'.'/'.'p'.'h'.'o'.'c'.'a'.'p'.'d'.'f'.'"'.'>'.'P'.'h'.'o'.'c'.'a'.' '.'P'.'D'.'F'.'<'.'/'.'a'.'>';
		} else {
			return '';
		}
	}

}

class PhocaPDFControlPanel
{
	
	function quickIconButton( $component, $link, $image, $text ) {
		
		$lang	= &JFactory::getLanguage();
		$button = '';
		if ($lang->isRTL()) {
			$button .= '<div class="icon-wrapper">';
		} else {
			$button .= '<div class="icon-wrapper">';
		}
		$button .=	'<div class="icon">'
				   .'<a href="'.$link.'">'
				   .JHTML::_('image.site',  $image, '/components/'.$component.'/assets/images/', NULL, NULL, $text )
				   .'<span>'.$text.'</span></a>'
				   .'</div>';
		$button .= '</div>';

		return $button;
	}
}
?>
My settings are

Code: Select all

<?php
/**
 * @package   Template Overrides - RocketTheme
 * @version   1.6.2 June 22, 2011
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2011 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 *
 * Rockettheme Gantry Template uses the Joomla Framework (http://www.joomla.org), a GNU/GPLv2 content management system
 *
 */

// no direct access
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT.DS.'helpers');

// Create shortcuts to some parameters.
$params		= $this->item->params;
$canEdit	= $this->item->params->get('access-edit');
$user		= JFactory::getUser();
?>
<div class="rt-article">
	<div class="item-page">
		<?php /** Begin Page Title **/ if ($this->params->get('show_page_heading', 1)) : ?>
		<h1 class="rt-pagetitle">
			<?php echo $this->escape($this->params->get('page_heading')); ?>
		</h1>
		<?php /** End Page Title **/  endif; ?>
		<div class="article-header">
			<?php /** Begin Article Title **/ if ($params->get('show_title')) : ?>
			<div class="module-title"><div class="module-title2"><div class="module-title3">
				<h2 class="title">
					<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
					<a href="<?php echo $this->item->readmore_link; ?>">
						<?php echo $this->escape($this->item->title); ?></a>
					<?php else : ?>
						<?php echo $this->escape($this->item->title); ?>
					<?php endif; ?>
				</h2>
			</div></div></div>
			<?php /** End Article Title **/ endif; ?>
			<div class="clear"></div>
			
			<?php $useDefList = (($params->get('show_author')) OR ($params->get('show_create_date')) OR ($params->get('show_modify_date')) OR ($params->get('show_publish_date'))
				OR ($params->get('show_hits')) || ($canEdit || $params->get('show_print_icon') || $params->get('show_email_icon'))); ?>
			<?php /** Begin Article Info **/ if ($useDefList) : ?>
			<div class="rt-articleinfo">
				<div class="rt-articleinfo-text"><div class="rt-articleinfo-text2">
					<?php if ($params->get('show_create_date')) : ?>
					<div class="rt-date-posted">
						<?php echo JHtml::_('date',$this->item->created, JText::_('DATE_FORMAT_LC3')); ?>
					</div>
					<?php endif; ?>
					<?php if ($params->get('show_modify_date')) : ?>
					<div class="rt-date-modified">
						<?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHtml::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC3'))); ?>
					</div>
					<?php endif; ?>
					<?php if ($params->get('show_author') && !empty($this->item->author )) : ?>
					<div class="rt-author"> 
						<?php $author =  $this->item->author; ?>
						<?php $author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author);?>
			
						<?php if (!empty($this->item->contactid ) &&  $params->get('link_author') == true):?>
							<?php echo JHtml::_('link',JRoute::_('index.php?option=com_contact&view=contact&id='.$this->item->contactid),$author); ?>
			
						<?php else :?>
							<?php echo $author; ?>
						<?php endif; ?>
					</div>
					<?php endif; ?>
					<?php if ($params->get('show_publish_date')) : ?>
					<div class="rt-date-published">
						<?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE', JHtml::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC3'))); ?>
					</div>
					<?php endif; ?>	
					<?php if ($params->get('show_hits')) : ?>
					<div class="rt-hits">
						<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
					</div>
					<?php endif; ?>
				</div></div>
				<?php
$phocaPDF = false;
if (JPluginHelper::isEnabled('phocapdf', 'content')) {
    include_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_phocapdf'
      .DS.'helpers'.DS.'phocapdf.php');
    $phocaPDF = PhocaPDFHelper::getPhocaPDFContentIcon($this->item,
      $params);
}
?>

<?php /** Begin Article Icons **/ if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon') || $phocaPDF) : ?>
         <div class="rt-article-icons">
            <ul class="actions">
                  <?php echo $phocaPDF; ?>
            <?php if (!$this->print) : ?>
							<?php if ($params->get('show_print_icon')) : ?>
							<li class="print-icon">
								<?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>
							</li>
							<?php endif; ?>
		
							<?php if ($params->get('show_email_icon')) : ?>
							<li class="email-icon">
								<?php echo JHtml::_('icon.email',  $this->item, $params); ?>
							</li>
							<?php endif; ?>
						
							<?php if ($canEdit) : ?>
							<li class="edit-icon">
								<?php echo JHtml::_('icon.edit', $this->item, $params); ?>
							</li>
							<?php endif; ?>
							<?php else : ?>
							<li>
								<?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
							</li>
						<?php endif; ?>
						</ul>
					</div>
				<?php /** End Article Icons **/ endif; ?>
				<div class="clear"></div>
			</div>
			<?php endif; ?>
		</div>

		<?php  if (!$params->get('show_intro')) :
			echo $this->item->event->afterDisplayTitle;
		endif; ?>

		<?php echo $this->item->event->beforeDisplayContent; ?>

		<?php if (isset ($this->item->toc)) : ?>
			<?php echo $this->item->toc; ?>
		<?php endif; ?>

		<?php if ($params->get('access-view')):?>
			<?php echo $this->item->text; ?>
			
		<?php //optional teaser intro text for guests ?>
		<?php elseif ($params->get('show_noauth') == true AND  $user->get('guest') ) : ?>
			<?php echo $this->item->introtext; ?>
			<?php //Optional link to let them register to see the whole article. ?>
			<?php if ($params->get('show_readmore') && $this->item->fulltext != null) :
				$link1 = JRoute::_('index.php?option=com_users&view=login');
				$link = new JURI($link1);?>
				<p class="readmore">
				<a href="<?php echo $link; ?>">
				<?php $attribs = json_decode($this->item->attribs);  ?> 
				<?php 
				if ($attribs->alternative_readmore == null) :
					echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
				elseif ($readmore = $this->item->alternative_readmore) :
					echo $readmore;
					if ($params->get('show_readmore_title', 0) != 0) :
					    echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
					endif;
				elseif ($params->get('show_readmore_title', 0) == 0) :
					echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');	
				else :
					echo JText::_('COM_CONTENT_READ_MORE');
					echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
				endif; ?></a>
				</p>
			<?php endif; ?>
		<?php endif; ?>

		<?php echo $this->item->event->afterDisplayContent; ?>
		
		<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
		<div class="rt-parent-category">
			<?php	$title = $this->escape($this->item->parent_title);
					$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>
			<?php if ($params->get('link_parent_category') AND $this->item->parent_slug) : ?>
				<?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
				<?php else : ?>
				<?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
			<?php endif; ?>
		</div>
		<?php endif; ?>
		<?php if ($params->get('show_category')) : ?>
		<div class="rt-category">
			<?php 	$title = $this->escape($this->item->category_title);
					$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>
			<?php if ($params->get('link_category') AND $this->item->catslug) : ?>
				<?php echo JText::sprintf('COM_CONTENT_CATEGORY', $url); ?>
				<?php else : ?>
				<?php echo JText::sprintf('COM_CONTENT_CATEGORY', $title); ?>
			<?php endif; ?>
		</div>
		<?php endif; ?>

	</div>
</div>

Re: Gantry framework

Posted: 12 Aug 2011, 14:11
by bjornkock
The code in the default.php looks good. Did you also edit joomla.css and phocapdf.php?

Re: Gantry framework

Posted: 13 Aug 2011, 14:56
by genman
My Joomla.css is:

Code: Select all

/**
 * @version   3.2.7 July 18, 2011
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2011 RocketTheme, LLC
 * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
 */

/* Headings */
h1, h2 {letter-spacing: -2px;line-height: 1em;}
.module-title h2, h3, h4, h5 {letter-spacing: -1px;line-height: 1em;}
.componentheading {font-weight: bold;display: block;margin-bottom: 15px;}
.contentheading {font-size: 140%;font-weight: bold;margin-bottom: 15px;display: block;}

/* Section Tables */
.sectiontableheader {font-weight: bold;padding: 3px;line-height: 25px;text-align: left;}
.sectiontablefooter {padding-bottom: 8px;}
tr.sectiontableentry0 td, tr.sectiontableentry1 td, tr.sectiontableentry2 td, td.sectiontableentry0, td.sectiontableentry1, td.sectiontableentry2 {text-align: left;padding: 6px 5px;vertical-align: middle;}
tr.sectiontableentry0 td, td.sectiontableentry0, tr.sectiontableentry1 td, td.sectiontableentry1, tr.sectiontableentry2 td, td.sectiontableentry2 {height: 30px;}
.contentpane, .contentpaneopen {width: 100%;}

/* Column Layout */
.component-content .cols-1 {display: block;float: none !important;margin: 0 !important;} 
.component-content .cols-2 .column-1, .component-content .cols-2 .column-2 {width: 50%;float: left;}
.component-content .cols-3 .column-1, .component-content .cols-3 .column-2, .component-content .cols-3 .column-3 {float: left;width: 33.3%;padding: 0;margin: 0;}
.component-content .items-row {overflow: hidden;margin-bottom: 10px !important;}
.component-content .cols-4 .column-1, .component-content .cols-4 .column-2, .component-content .cols-4 .column-13, .component-content .cols-4 .column-4 {width: 25%;padding: 0;margin: 0;float: left;}
.component-content .cols-2 .rt-article, .component-content .cols-3 .rt-article, .component-content .cols-4 .rt-article {margin: 0 10px 20px 10px;}
.component-content .cols-2 .column-1 .rt-article, .component-content .cols-3 .column-1 .rt-article, .component-content .cols-4 .column-1 .rt-article {margin-left: 0;}
.component-content .cols-2 .column-2 .rt-article, .component-content .cols-3 .column-3 .rt-article, .component-content .cols-4 .column-4 .rt-article {margin-right: 0;}

/* Category Layout */
.component-content .rt-blog .rt-description {margin: 10px 0 15px 0;padding-bottom: 20px;border-bottom: 1px #c8c8c8 dotted;}
.component-content .rt-article-bg {padding-bottom: 5px;border-bottom: 1px #c8c8c8 dotted;}
.component-content .rt-article-links {margin: 10px 0px 10px 0px;}
.component-content .category-desc {padding: 0 5px;margin: 10px 0 25px;}
.component-content .cat-children .category-desc {margin: 10px 0 25px;}
.component-content ul.subcategories {margin: 20px 20px 20px 10px;}
.component-content .subcategories-link {font-weight: bold}
.component-content ul {list-style-position: outside;list-style-type: square;padding: 0 0 0 15px;margin: 10px 0;}
.component-content ol {padding: 0 0 0 20px;margin: 10px 0;list-style-position: outside;}
.component-content ul li, .component-content ol li {padding: 0;line-height: 1.7em;margin: 0;}
.component-content .category-list {padding: 0 5px;display: block;}
.component-content .categories-list {padding: 0 5px;}
.component-content .categories-list ul {margin: 0 0 0 20px;padding: 0;list-style: none;}
.component-content .categories-list ul li {padding: 5px;}
.component-content .categories-list ul ul {margin-left: 15px;}
.component-content .category-desc {line-height: 1.7em;margin: 10px 0;padding-left: 0;}
.component-content .small {font-size: 0.85em;margin: 0 0 20px;}
.component-content .image-left {float: left;margin: 0 15px 5px 0;}
.component-content .image-right {float: right;margin: 0 0 5px 15px;}
.component-content .archive {padding: 0 5px;}
.component-content .archive form {padding: 0 5px;}
.component-content ul#archive-items {margin: 20px 0;list-style-type: none;padding: 0;}
.component-content ul#archive-items li.row0, .component-content ul#archive-items li.row1 {padding: 10px 0;margin: 10px 0;}

/* Article Layout */
.component-content .title {width: auto;font-size: 260%;line-height: 1.1em;}
.component-content span.edit {margin-left: 10px;float: left;}
.component-content .rt-articleinfo {margin-bottom: 15px;}
.component-content .rt-category, .component-content .rt-date-modified, .component-content .rt-date-published, .component-content .rt-author, .component-content .rt-date-posted, .component-content .rt-hits {display: block;font-size: 95%;}
.component-content .rt-author {font-style: italic;}
.component-content .rt-date-created, .component-content .rt-date-published {font-weight: bold;}
.component-content .rt-description {margin: 10px 0px 10px 0px;overflow: hidden;}
.component-content .rt-description img.left {margin-right: 15px;float: left;}
.component-content .rt-description img.right {margin-left: 15px;float: right;}
.component-content .filter {margin: 10px 0;}
.component-content span.number {color: #969696;font-style: italic;}
.component-content .rt-article-icons {width: 65px;overflow: hidden;float: right;}
.component-content .rt-article-icons ul {margin: 0;padding: 0;list-style: none;}
.component-content .rt-article-icons ul li {margin: 0;padding: 0}
.component-content .rt-article-icons ul li a {display: block;width: 16px;height: 16px;float: right;margin-left: 3px;background-image: url(../images/typography.png);background-repeat: no-repeat;}
.component-content .rt-article-icons ul li img {display: none;}
.component-content .print-icon a {background-position: 0 0;}
.component-content .email-icon a {background-position: -16px 0;}
.component-content .edit-icon a {background-position: -48px 0;margin-left: 0 !important;margin-right: 5px;}
.component-content .rt-article-cat {font-weight: bold;margin-top: 15px;margin-bottom: 0;}

/* Editing */
.component-content .edit #editor-xtd-buttons a:link, .component-content .edit #editor-xtd-buttons a:visited, .component-content .edit #editor-xtd-buttons a:hover {color: #323232;}
.component-content .edit .inputbox, .component-content .edit textarea {border: 1px solid #ddd;}
.component-content .edit legend {font-size: 150%;}
.component-content .edit form#adminForm fieldset {padding: 20px 15px;margin: 10px 0 15px 0;}
.component-content .formelm {margin: 5px 0;}
.component-content .formelm label {width: 9em;display: inline-block;vertical-align: top;}
.component-content form#adminForm .formelm-area {padding: 5px 0;}
.component-content form#adminForm .formelm-area label {vertical-align: top;display: inline-block;width: 7em}
.component-content .formelm-buttons {text-align: right;margin-bottom: 10px}
.component-content .button2-left {float: left;margin-right: 5px;margin-top: 10px;}
.component-content .button2-left a {background: #eee;padding: 4px;margin: 0;line-height: 1.2em;border: solid 1px #ddd;font-weight: bold;text-decoration: none;}

/* User */
#form-login .inputbox, #com-form-login .inputbox, #josForm .inputbox {border: 1px solid #ddd;font-size: 1.2em;padding: 2px;margin: 0;}
#com-form-login fieldset div, #josForm fieldset div {margin-bottom: 10px;}
#form-login ul {margin-top: 10px;}
#form-login p {margin-bottom: 10px;}
#form-login .user-greeting {font-weight: bold;font-size: 120%;margin-bottom: 15px;}
.component-content .user label.label-left, .component-content .user span.label-left {display: block;width: 130px;float: left;font-weight: bold;font-size: 120%;}
.col12 .rt-grid-2 #form-login .inputbox {width: 104px;}
.col12 .rt-grid-3 #form-login .inputbox {width: 184px;}
.col12 .rt-grid-4 #form-login .inputbox {width: 264px;}
.col12 .rt-grid-5 #form-login .inputbox {width: 344px;}
.col12 .rt-grid-6 #form-login .inputbox {width: 424px;}
.col12 .rt-grid-7 #form-login .inputbox {width: 504px;}
.col12 .rt-grid-8 #form-login .inputbox {width: 584px;}
.col12 .rt-grid-9 #form-login .inputbox {width: 664px;}
.col12 .rt-grid-10 #form-login .inputbox {width: 744px;}
.col12 .rt-grid-12 #form-login .inputbox {width: 904px;}
.col16 .rt-grid-2 #form-login .inputbox {width: 64px;}
.col16 .rt-grid-3 #form-login .inputbox {width: 124px;}
.col16 .rt-grid-4 #form-login .inputbox {width: 184px;}
.col16 .rt-grid-5 #form-login .inputbox {width: 244px;}
.col16 .rt-grid-6 #form-login .inputbox {width: 304px;}
.col16 .rt-grid-7 #form-login .inputbox {width: 364px;}
.col16 .rt-grid-8 #form-login .inputbox {width: 424px;}
.col16 .rt-grid-9 #form-login .inputbox {width: 484px;}
.col16 .rt-grid-10 #form-login .inputbox {width: 544px;}
.col16 .rt-grid-11 #form-login .inputbox {width: 604px;}
.col16 .rt-grid-12 #form-login .inputbox {width: 664px;}
.col16 .rt-grid-13 #form-login .inputbox {width: 724px;}
.col16 .rt-grid-14 #form-login .inputbox {width: 784px;}
.col16 .rt-grid-15 #form-login .inputbox {width: 844px;}
#users-profile-core, #users-profile-custom {margin: 10px 0 15px 0;padding: 15px;}
#users-profile-core dt, #users-profile-custom dt {float: left;width: 10em;padding: 3px 0;}
#users-profile-core dd, #users-profile-custom dd {padding: 3px 0;}
#member-profile fieldset, .registration fieldset {margin: 10px 0 15px 0;padding: 15px;}
#users-profile-core legend, .profile-edit legend, .registration legend {font-weight: bold;}
.component-content #member-registration {padding: 0 5px;}
.component-content #member-registration fieldset {border: solid 1px #ddd;}
.component-content form fieldset dt {clear: left;float: left;width: 12em;padding: 3px 0;}
.component-content form fieldset dd {float: left;padding: 3px 0;}

/* Tables */
.component-content table {border-collapse: collapse;}
.component-content table.weblinks, .component-content table.category {font-size: 1em;margin: 10px 10px 20px 0px;width: 99%;}
.component-content table.weblinks td {border-collapse: collapse;}
.component-content table.weblinks td, .component-content table.category td {padding: 7px;}
.component-content table.weblinks th, .component-content table.category th {padding: 7px;text-align: left;}
.component-content td.num {vertical-align: top;text-align: left;}
.component-content td.hits {vertical-align: top;text-align: center;}
.component-content td p {margin: 0;line-height: 1.3em;}
.component-content .filter {margin: 10px 0;}
.component-content .display-limit, .component-content .filter {text-align: right;margin-right: 7px;}
.component-content table.category th a img {padding: 2px 10px;}
.component-content .filter-search {float: left;}
.component-content .filter-search .inputbox {width: 6em;}
.component-content legend.element-invisible {position: absolute;margin-left: -3000px;margin-top: -3000px;height: 0;}
.component-content .cat-items {margin-top: 20px;}

/* Contact */
.component-content .contact {padding: 0 5px;}
.component-content .contact-category {padding: 0 10px;}
.component-content .contact-category  .component-content #adminForm fieldset.filters {border: 0;padding: 0;}
.component-content .contact-image {margin: 10px 0;overflow: hidden;}
.component-content address {font-style: normal;margin: 10px 0;}
.component-content address span {display: block;}
.component-content .contact-address {margin: 20px 0 10px 0;}
.component-content .contact-email div {padding: 2px 0;margin: 0 0 10px 0;}
.component-content .contact-email label {width: 17em;float: left;}
.component-content span.contact-image {margin-bottom: 10px;overflow: hidden;display: block;}
.component-content #contact-textmsg {padding: 2px 0 10px 0;}
.component-content #contact-email-copy {float: left;margin-right: 10px;}
.component-content .contact .button {float: none !important;clear: left;display: block;margin: 20px 0 0 0;}
.component-content dl.tabs {float: left;margin: 50px 0 0 0;z-index: 50;clear: both;}
.component-content dl.tabs dt {float: left;padding: 4px 10px;border-left: 1px solid #ccc;border-right: 1px solid #ccc;border-top: 1px solid #ccc;margin-right: 3px;background: #f0f0f0;color: #666;}
.component-content dl.tabs dt.open {background: #F9F9F9;border-bottom: 1px solid #F9F9F9;z-index: 100;color: #000;}
.component-content div.current {clear: both;border: 1px solid #ccc;padding: 10px 10px;max-width: 500px;}
.component-content div.current dd {padding: 0;margin: 0;}
.component-content dl#content-pane.tabs {margin: 1px 0 0 0;}

/* Weblinks */
.component-content .weblinks fieldset div {overflow: hidden;}
.component-content .weblinks label.label-left {display: block;width: 150px;float: left;}

/* Search */
.component-content .searchintro {font-weight: normal;margin: 20px 0 20px;}
.component-content #searchForm {padding: 0;}
.component-content .form-limit {margin: 20px 0 0;text-align: right;padding: 0 10px 0 20px;}
.component-content .highlight {font-weight: bold;}
.component-content .ordering-box {float: none;}
.component-content .phrases-box {float: none;margin-bottom: 10px;}
.component-content .ordering-box .inputbox {width: auto !important}
.component-content .only, .component-content .phrases {margin: 10px 0 0 0px;padding: 15px 0;line-height: 1.3em;}
.component-content label.ordering {display: block;margin: 10px 0 10px 0;}
.component-content .word {padding: 0;}
.component-content .word input {font-weight: bold;}
.component-content .word label {font-weight: bold;}
.component-content fieldset.only label, .component-content fieldset.phrases label {margin: 0 10px 0 0;}
.component-content .ordering-box label.ordering {margin: 0 10px 5px 0;float: left;}
.component-content form .search label {display: none;}
.component-content dl.search-results dt.result-title {padding: 15px 15px 0px 5px;font-weight: bold;}
.component-content dl.search-results dd {padding: 2px 15px 2px 5px;}
.component-content dl.search-results dd.result-text {padding: 10px 15px 10px 5px;line-height: 1.7em;}
.component-content dl.search-results dd.result-created {padding: 2px 15px 15px 5px;}
.component-content dl.search-results dd.result-category {padding: 10px 15px 5px 5px;}

/* Accessibility */
#rt-accessibility .rt-desc {float: left;padding-right: 5px;}
#rt-accessibility #rt-buttons {float: left;}
#rt-accessibility .button {display: block;width:14px;height:14px;float: left;background: url(../images/typography.png);margin: 2px;}
#rt-accessibility .large .button {background-position: 0 -17px;}
#rt-accessibility .small .button {background-position: -15px -17px;}

/* Other */
.component-content .categorylist input {border: 1px solid #ddd;font-size: 1.2em;padding: 2px;margin: 0;}
.component-content th {padding: 5px;background: #ebebeb;border-bottom: 2px solid #ddd;font-weight : bold;}
.component-content tr.even td {padding: 5px;background: #f0f0f0;border-bottom: 1px solid #ddd;}
.component-content tr.odd td {padding: 5px;background: #fafafa;border-bottom: 1px solid #ddd;}
.rt-breadcrumb-surround {margin: 0;display: block;position:relative;overflow: hidden;height: 20px;padding: 15px 25px;}
#breadcrumbs-gantry {width: 11px;height: 11px;display: block;float: left;margin-top: 4px;margin-right: 8px;background: url(../images/home.png) 0 0 no-repeat;}
.component-content p.error {padding: 10px;}
.component-content .contentpaneopen_edit {float: left;}
.component-content table.contenttoc {padding: 10px;margin: 10px;float: right;}
.component-content table.contenttoc tr td {padding: 1px 0;}
.component-content .pagenavcounter {font-weight: bold;}
ul.latestnews, ul.mostread {padding-left: 10px;margin: 0;}
ul.latestnews li a, ul.mostread li a {padding: 2px 2px 2px 15px;display: block;text-decoration: none;}
#article-index {width: 25%;float: right;padding: 10px;margin: 10px 0px 20px 30px;}
#article-index h3 {margin: 0;font-size: 1em;}
#article-index ul {list-style-type: disc;}
.mod-languages ul li {display: inline;}
.stats-module dl {margin: 10px 0 10px 0;}
.stats-module dt {float: left;margin: 0 10px 0 0;font-weight: bold;}
.stats-module dt, .stats-module dd {padding: 2px 0 2px 0;}
.banneritem {margin: 10px 0;padding: 0;}
.banneritem a {font-weight: bold;}
p.syndicate {float: left;display: block;text-align: left;}
.phrases .inputbox {width: 10em;}
.phrases .inputbox option {padding: 2px;}

/* Newsflash */
.newsflash {margin: 0;}
.newsflash-horiz {overflow: hidden;list-style-type: none;margin: 0 5px;padding: 20px 10px;}
.newsflash-horiz li {float: left;width: 30%;margin: 0 1%;padding: 10px 5px;}
.newsflash-horiz li h4 {font-size: 1.4em;}
.newsflash-horiz li img {display: block;margin-bottom: 10px;}
.newsflash-vert {padding: 0;}

/* Newsfeeds */
.component-content .newsfeed {padding: 0 5px;}
.component-content ul.newsfeed {padding: 0;}
.component-content .newsfeed-item {padding: 5px 0 0 0;margin: 0;}
.component-content .newsfeed-item h5 a {font-size: 1.1em;font-weight: bold;}
.component-content .feed-item-description img {margin: 5px 10px 10px 0;}
.component-content dl.newsfeed-count dt, .component-content dl.newsfeed-count dd {display: inline;}
.component-content dl.weblink-count dt, .component-content dl.weblink-count dd {display: inline;}

/* Pagination */
.component-content .rt-pagination {margin: 10px 0;padding: 10px 0 10px 0px;}
.component-content .rt-pagination ul {list-style-type: none;margin: 0;padding: 0;text-align: left;}
.component-content .rt-pagination li {display: inline;padding: 2px 5px;text-align: left;border: solid 1px #eee;margin: 0 2px;}
.component-content .rt-pagination li.pagination-start, .component-content .rt-pagination li.pagination-next, .component-content .rt-pagination li.pagination-end, .component-content .rt-pagination li.pagination-prev {border: 0;}
.component-content .rt-pagination li.pagination-start, .component-content .rt-pagination li.pagination-start span {padding: 0;}
.component-content p.counter {font-weight: bold;}

/* Pagenav */
.component-content .pagenav {list-style-type: none;padding: 0;overflow: hidden;}
.component-content .pagenav li {display: inline-block;padding: 0px;margin: 0;}
.component-content .pagenav li {line-height: 2em;}
.component-content .pagenav li a {display: inline;padding: 2px;text-decoration: none;}
.component-content .pagenav li.pagenav-prev {float: left;}
.component-content .pagenav li.pagenav-next {float: right;}

/* Tooltips */
.tool-tip {float: left;background: #ffc;border: 1px solid #D4D5AA;padding: 5px;max-width: 200px;color: #323232;}
.tool-title {padding: 0;margin: 0;font-size: 100%;font-weight: bold;margin-top: -15px;padding-top: 15px;padding-bottom: 5px;background: url(../../system/images/selector-arrow.png) no-repeat;}
.tool-text {font-size: 100%;margin: 0;}

/* Mailto */
#mailto-window {background: #f5f5f5;padding: 15px;border: solid 1px #ddd;position: relative;}
#mailto-window label {width: 10em;}
.mailto-close {position: absolute;right: 0;top: 5px;background: none;}
.mailto-close a {min-width: 25px;display: block;min-height: 25px;overflow: visible;}
.mailto-close a span {position: absolute;left: -3000px;top: -3000px;display: inline;}
#mailto-window .inputbox {padding: 3px;}
#mailto-window p {margin-top: 20px;}
#mailto-window button {margin: 0 5px 0 0;}

/* System Messages */
/* OpenID icon style */
input.system-openid, input.com-system-openid { background: url(http://openid.net/images/login-bg.gif) no-repeat;background-color: #fff;background-position: 0 50%;color: #000;padding-left: 18px;}

/* Unpublished */
.system-unpublished {background: #e8edf1;border-top: 4px solid #c4d3df;border-bottom: 4px solid #c4d3df;}

/* System Messages */
#system-message { margin-bottom: 10px; padding: 0;}
#system-message dt { font-weight: bold; }
#system-message dd { margin: 0; font-weight: bold; }
#system-message dd ul { background: #BFD3E6; color: #0055BB; margin: 10px 0 10px 0; list-style: none; padding: 10px; border: 2px solid #84A7DB;}

/* System Standard Messages */
#system-message dt.message {display: none;}

/* System Error Messages */
#system-message dt.error {display: none;}
#system-message dd.error ul {color: #c00;background-color: #EBC8C9;border: 2px solid #DE7A7B;}

/* System Notice Messages */
#system-message dt.notice {display: none;}
#system-message dd.notice ul {color: #A08B4C;background: #F5ECC1;border: 2px solid #F0DC7E;}

/* Debug */
#system-debug {color: #ccc;background-color: #fff;padding: 10px;margin: 10px;}
#system-debug div {font-size: 11px;}
//* PhocaPDF Custom Edits *
.component-content .pdf-icon a {background-position: -32px 0;} 

Re: Gantry framework

Posted: 13 Aug 2011, 15:41
by bjornkock
I can see you have correctly defined the pdf icon. Did you now point phocapdf.php to it as explained above?

Re: Gantry framework

Posted: 13 Aug 2011, 15:47
by genman
bjornkock wrote:I can see you have correctly defined the pdf icon. Did you now point phocapdf.php to it as explained above?
Hi,

Point "phocapdf.php" to it? I am Sorry I don't understand.
  1. I downloaded the component and installed it
  2. I downloaded the plugin and enabled it
  3. I didnot install any fonts
  4. then made the changes to Joomla.css, phocapdf.php, & default.php (copy/paste) from your post
  5. I get a printer icon instead of a PDF icon but it does work
What do I need to point phocapdf.php to and where?

:) Thanks :)

Re: Gantry framework

Posted: 13 Aug 2011, 15:54
by bjornkock
Phoca installation creates multiple instance of thethe file phocapdf.php. Did you edit the correct one in ../administrator/components/com_phocapdf/helpers/phocapdf.php?

Re: Gantry framework

Posted: 13 Aug 2011, 16:02
by genman
bjornkock wrote:Phoca installation creates multiple instance of thethe file phocapdf.php. Did you edit the correct one in ../administrator/components/com_phocapdf/helpers/phocapdf.php?
Hi,

Yes, I have double-checked that I have edited the right files. Btw how do I know that a class "pdf-icon" exists? Could that be the problem?

Thanks