PDA

Zobacz pełną wersję : konflikt modułów Lof ArticlesSLideShow Module oraz Joomleague



maj_ka
12-03-2013, 14:00
Na templatce beez20 w joomla 2.5.9 mam problem z "dogadaniem się" modułów: Lof ArticlesSLideShow Module oraz Joomleague (Tabela)
Chciałam żeby oba były na stronie głównej.
Tabela i inne moduły z joomleague już były opublikowane gdy opublikowałam SlideShow (miał wyświetlić się w pozycji 12)
I się nie wyświetlił. A nawet przeciwnie - zniknęło wszystko, powstała biała strona.

Kierując się wskazówkami z forum powyłączałam po kolei inne instalowane moduły i wyszło że dzieje się tak ze względu na joomleague.
joomleague musi zostać więc zaczęłam szukać innego rozwiązania:
przez loadposition załadowałam SlideShow do artykułu i wyróżniłam by był na głównej.
Pokazał się owszem, joomleague również.
Wydawało by się że problem jest rozwiązany jednakże przy slideshow nie chciałam żeby wyświetlał się tytuł tego artykułu, data, autor, kategoria.
Ponieważ chodziło tylko o ten jeden artykuł wyłączylam odpowiednie opcje tylko w nim. Ale nie zniknęły.
(No i też nie do końca chcę by ten moduł był jako artykuł)

Zaczęłam myśleć że może to ze względu na mootools i jquery ( o których moje pojęcie jest zielone, wiem tylko że się kłócą i najlepiej żeby moduły były z gatunku jednego).
Zainstalowałam jquery easy - ale... nie mam pojęcia co tam ustawić, a ponadto wyszło mi że oba moduły i tak są na jquery. Więc konfliktu nie powinno być... (no chyba że źle mi wyszło:)

Czy ktoś ma pomysł co mogę zrobić żeby to ruszyło?

maj_ka
13-03-2013, 14:15
zdaje sie ze to nie konflikt bibliotek tylko pozycji modułów - jesli joomleague jest w module po lewej - to wyswietla i sie takze SlideShow. Ale jesli chce by joomleague bylo z prawej to (position-8) albo w stopce ( position-11) to wtedy powstaje problem.

Jakies sugestie co do rozwiazania?

- - - Updated - - -

poprawka z powrotem: jak daje tabele po prawej - to na podstronach gdzie nie ma slideshow sie wyswietla a tam gdzie slideshow nie ( jest biala strona). czyli jednak konflikt modulow/bibliotek

rece mi juz opadaja. nie mam pojecia jak to naprawic

maj_ka
13-03-2013, 15:11
i kolejny wniosek... jesli daje:
Slide w position-12 a tabela w position-6 - to mam biala strone
jesli daje slide w innych position - to tabela w position-6 dziala i slide dziala
jesli daje slide w position-6 a tabele w position-12 (czyli odwracam to co faktycznie chce) - to tez oba dzialaja
wychodzi ze jest problem z tym jednym jedynym ukladem...

ponizej index.php bo jestem zdesperowana :)


<?php/**
* @package Joomla.Site
* @subpackage Templates.beez_20
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/


// No direct access.
defined('_JEXEC') or die;


jimport('joomla.filesystem.file');


// check modules
$showRightColumn = ($this->countModules('position-3') or $this->countModules('position-6') or $this->countModules('position-8'));
$showbottom = ($this->countModules('position-9') or $this->countModules('position-10') or $this->countModules('position-11'));
$showleft = ($this->countModules('position-4') or $this->countModules('position-7') or $this->countModules('position-5'));


if ($showRightColumn==0 and $showleft==0) {
$showno = 0;
}


JHtml::_('behavior.framework', true);


// get params
$color = $this->params->get('templatecolor');
$logo = $this->params->get('logo');
$navposition = $this->params->get('navposition');
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$templateparams = $app->getTemplate(true)->params;


$doc->addStyleSheet($this->baseurl.'/templates/system/css/system.css');
$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/position.css', $type = 'text/css', $media = 'screen,projection');
$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/layout.css', $type = 'text/css', $media = 'screen,projection');
$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/print.css', $type = 'text/css', $media = 'print');


$files = JHtml::_('stylesheet', 'templates/'.$this->template.'/css/general.css', null, false, true);
if ($files):
if (!is_array($files)):
$files = array($files);
endif;
foreach($files as $file):
$doc->addStyleSheet($file);
endforeach;
endif;


$doc->addStyleSheet('templates/'.$this->template.'/css/'.htmlspecialchars($color).'.css');
if ($this->direction == 'rtl') {
$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/template_rtl.css');
if (file_exists(JPATH_SITE . '/templates/' . $this->template . '/css/' . $color . '_rtl.css')) {
$doc->addStyleSheet($this->baseurl.'/templates/'.$this->template.'/css/'.htmlspecialchars($color).'_rtl.css');
}
}


$doc->addScript($this->baseurl.'/templates/'.$this->template.'/javascript/hide.js', 'text/javascript');


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />


<!--[if lte IE 6]>
<link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/ieonly.css" rel="stylesheet" type="text/css" />
<?php if ($color=="personal") : ?>
<style type="text/css">
#line {
width:98% ;
}
.logoheader {
height:200px;
}
#header ul.menu {
display:block !important;
width:98.2% ;
}
</style>
<?php endif; ?>
<![endif]-->


<!--[if IE 7]>
<link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/ie7only.css" rel="stylesheet" type="text/css" />
<![endif]-->


<script type="text/javascript">
var big ='<?php echo (int)$this->params->get('wrapperLarge');?>%';
var small='<?php echo (int)$this->params->get('wrapperSmall'); ?>%';
var altopen='<?php echo JText::_('TPL_BEEZ2_ALTOPEN', true); ?>';
var altclose='<?php echo JText::_('TPL_BEEZ2_ALTCLOSE', true); ?>';
var bildauf='<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/images/plus.png';
var bildzu='<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/images/minus.png';
var rightopen='<?php echo JText::_('TPL_BEEZ2_TEXTRIGHTOPEN', true); ?>';
var rightclose='<?php echo JText::_('TPL_BEEZ2_TEXTRIGHTCLOSE', true); ?>';
var fontSizeTitle='<?php echo JText::_('TPL_BEEZ2_FONTSIZE', true); ?>';
var bigger='<?php echo JText::_('TPL_BEEZ2_BIGGER', true); ?>';
var reset='<?php echo JText::_('TPL_BEEZ2_RESET', true); ?>';
var smaller='<?php echo JText::_('TPL_BEEZ2_SMALLER', true); ?>';
var biggerTitle='<?php echo JText::_('TPL_BEEZ2_INCREASE_SIZE', true); ?>';
var resetTitle='<?php echo JText::_('TPL_BEEZ2_REVERT_STYLES_TO_DEFAULT', true); ?>';
var smallerTitle='<?php echo JText::_('TPL_BEEZ2_DECREASE_SIZE', true); ?>';
</script>


</head>


<body>


<div id="all">
<div id="back">
<div id="header">
<div class="logoheader">
<h1 id="logo">


<?php if ($logo): ?>
<img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>" />
<?php endif;?>
<?php if (!$logo ): ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle'));?>
<?php endif; ?>
<span class="header1">
<?php echo htmlspecialchars($templateparams->get('sitedescription'));?>
</span></h1>
</div><!-- end logoheader -->
<ul class="skiplinks">
<li><a href="#main" class="u2"><?php echo JText::_('TPL_BEEZ2_SKIP_TO_CONTENT'); ?></a></li>
<li><a href="#nav" class="u2"><?php echo JText::_('TPL_BEEZ2_JUMP_TO_NAV'); ?></a></li>
<?php if($showRightColumn ):?>
<li><a href="#additional" class="u2"><?php echo JText::_('TPL_BEEZ2_JUMP_TO_INFO'); ?></a></li>
<?php endif; ?>
</ul>
<h2 class="unseen"><?php echo JText::_('TPL_BEEZ2_NAV_VIEW_SEARCH'); ?></h2>
<h3 class="unseen"><?php echo JText::_('TPL_BEEZ2_NAVIGATION'); ?></h3>
<jdoc:include type="modules" name="position-1" />
<div id="line">
<!-- <div id="fontsize"></div>
<h3 class="unseen"><?php echo JText::_('TPL_BEEZ2_SEARCH'); ?></h3>-->
<jdoc:include type="modules" name="position-0" />
</div> <!-- end line -->
<div id="klubypl"> <jdoc:include type="modules" name="menu-kluby" /><jdoc:include type="modules" name="glowne-menu" /></div>
</div><!-- end header -->
<div id="<?php echo $showRightColumn ? 'contentarea2' : 'contentarea'; ?>">
<div id="breadcrumbs">


<jdoc:include type="modules" name="position-2" />


</div>


<?php if ($navposition=='left' and $showleft) : ?>




<div class="left1 <?php if ($showRightColumn==NULL){ echo 'leftbigger';} ?>" id="nav">
<jdoc:include type="modules" name="position-7" style="beezDivision" headerLevel="3" />
<jdoc:include type="modules" name="position-4" style="beezHide" headerLevel="3" state="0 " />
<jdoc:include type="modules" name="position-5" style="beezTabs" headerLevel="2" id="3" />




</div><!-- end navi -->
<?php endif; ?>


<div id="<?php echo $showRightColumn ? 'wrapper' : 'wrapper2'; ?>" <?php if (isset($showno)){echo 'class="shownocolumns"';}?>>


<div id="main">


<?php if ($this->countModules('position-12')): ?>
<div id="top"><jdoc:include type="modules" name="position-12" />
</div>
<?php endif; ?>


<jdoc:include type="message" />
<jdoc:include type="component" />


</div><!-- end main -->


</div><!-- end wrapper -->


<?php if ($showRightColumn) : ?>
<h2 class="unseen">
<?php echo JText::_('TPL_BEEZ2_ADDITIONAL_INFORMATION'); ?>
</h2>

<div id="right">
<a id="additional"></a>
<jdoc:include type="modules" name="position-6" style="beezDivision" headerLevel="3"/>
<jdoc:include type="modules" name="position-8" style="beezDivision" headerLevel="3" />
<jdoc:include type="modules" name="position-3" style="beezDivision" headerLevel="3" />
</div><!-- end right -->
<?php endif; ?>


<?php if ($navposition=='center' and $showleft) : ?>


<div class="left <?php if ($showRightColumn==NULL){ echo 'leftbigger';} ?>" id="nav" >


<jdoc:include type="modules" name="position-7" style="beezDivision" headerLevel="3" />
<jdoc:include type="modules" name="position-4" style="beezHide" headerLevel="3" state="0 " />
<jdoc:include type="modules" name="position-5" style="beezTabs" headerLevel="2" id="3" />




</div><!-- end navi -->
<?php endif; ?>


<div class="wrap"></div>


</div> <!-- end contentarea -->


</div><!-- back -->


</div><!-- all -->


<div id="footer-outer">
<?php if ($showbottom) : ?>
<div id="footer-inner">


<div id="bottom">
<div class="box box1"> <jdoc:include type="modules" name="position-9" style="beezDivision" headerlevel="3" /></div>
<div class="box box2"> <jdoc:include type="modules" name="position-10" style="beezDivision" headerlevel="3" /></div>
<div class="box box3"> <jdoc:include type="modules" name="position-11" style="beezDivision" headerlevel="3" /></div>
</div>




</div>
<?php endif ; ?>


<div id="footer-sub">




<div id="footer">


<jdoc:include type="modules" name="position-14" />
<p>
<?php echo JText::_('TPL_BEEZ2_POWERED_BY');?> <a href="http://www.joomla.org/">Joomla!®</a>
</p>




</div><!-- end footer -->


</div>


</div>
<jdoc:include type="modules" name="debug" />
</body>
</html>

maj_ka
14-03-2013, 21:53
włączyłam maxymalne raportowanie błędów ( nie sprawdziłam wcześniej że mam najprostsze i stąd niewiedza) i pokazało mi:
Cannot redeclare class PhpThumbFactory in /Applications/MAMP/htdocs/pljoomsport/modules/mod_lofarticlesslideshow/libs/phpthumb/ThumbLib.inc.php on line 66

co powinnam zrobić z tą klasą? znalazłam kilka porad na angielskich forach ale wg sprawdzających rozwiązania, porady te były nieskuteczne...

maj_ka
15-03-2013, 17:29
ku potomnym... bo widzę że nikt nie wie co z tym zrobić...
wyszło mi na joomli testowej - ale tak mieszałam że nie wiem jak to naprawiłam w efekcie.

porównuję zatem kod tam gdzie mam zepsute i tam gdzie jest już ok i wychodzi że:
katalog modules/mod_lofarticlesslideshow/libs/
w pliku helpers.php
w okolicy linii 17 jest kod :

if( !defined('PhpThumbFactoryLoaded') ) {


require_once dirname(__FILE__).DS.'libs'.DS.'phpthumb/ThumbLib.inc.php';
}
define('PhpThumbFactoryLoaded',1);
}

Zamiast tego dałam:
if( !defined('PhpThumbFactory') ) {
if( !class_exists("PhpThumbFactory")){
require_once dirname(__FILE__).DS.'libs'.DS.'phpthumb/ThumbLib.inc.php';
}
define('PhpThumbFactory',1);
}


Doprowadziło to że zaczęły się wyświetlać oba moduły o których pisałam wcześniej, ale mam komunikaty z maximum raportowania błędów:
Strict Standards: Only variables should be assigned by reference in /Applications/MAMP/htdocs/pljoomleague/modules/mod_lofarticlesslideshow/helper.php on line 294


Strict Standards: Non-static method modJLGRankingHelper::getData() should not be called statically in /Applications/MAMP/htdocs/pljoomleague/modules/mod_joomleague_ranking/mod_joomleague_ranking.php on line 24

Strict Standards: Only variables should be assigned by reference in /Applications/MAMP/htdocs/pljoomleague/modules/mod_joomleague_ranking/helper.php on line 44

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method JLGRanking::_cachedGetData() should not be called statically in /Applications/MAMP/htdocs/pljoomleague/libraries/joomla/cache/controller/callback.php on line 159

Strict Standards: Non-static method JLGRanking::_initTeams() should not be called statically in /Applications/MAMP/htdocs/pljoomleague/components/com_joomleague/helpers/ranking.php on line 258

Strict Standards: Non-static method JLGRanking::_getMatches() should not be called statically in /Applications/MAMP/htdocs/pljoomleague/components/com_joomleague/helpers/ranking.php on line 259

WYłączenie maximum raportowania sprawia że część błędów się przestaje wyświetlać ale część niestety zostaje.

(na tej testowej stronie mam wrażenie że zrobiłam jednak zupełnie co innego po czym restartowałam serwer Apache i wyłączyłam raportowanie maxymalne - pomogło, niestety nie zapisywałam poczynań więc nie pamiętam...)

maj_ka
15-03-2013, 18:06
Kolejny etap:
we wspomnianym pliku helpers.php:
odnalazlam wszystkie fragmenty gdzie jest PhpThumbFactory
i w każdym dodałam cyfrę 2: czyli wyglądało to: PhpThumbFactory2

to samo zrobiłam w pliku ThumbLib.inc.php który znajduje się w katalogu modules/mod_lofarticlesslideshow/libs/phpthumb
zapisałam pliki
odświeżyłam strone.
nie było zmian.
wróciłam zatem do pozycji wyjsciowej likwidujac cyfry 2 przy PhpThumbFactory z kazdego wspomnianego wyzej miejsca


zapisalam pliki
odwiezylam strone
przy domyslnym raportowaniu bledow - wyswietlaja sie oba moduly i zadnych bledow


zatem mozna powiedziec - SUKCES


tylko zastanawiam sie co z tymi bledami ktore wyswietlaja sie gdy przelacze sie na maxymalne raportowanie - jesli ktos wie na ile moga byc istotne to bardzo prosze o pomoc.


i jakby ktos umial wytlumaczyc racjonalnie dlaczego to co zrobilam pomoglo - to bede wdzieczna bo ja o php to nie mam bladego pojecia... jeszcze.


a bledy ktore widac przy walczeniu maxymalnego raportowania to:
Strict Standards: Non-static method modJLGRankingHelper::getData() should not be called statically in /Applications/MAMP/htdocs/pljoomleague/modules/mod_joomleague_ranking/mod_joomleague_ranking.php on line 24


Strict Standards: Only variables should be assigned by reference in /Applications/MAMP/htdocs/pljoomleague/modules/mod_joomleague_ranking/helper.php on line 44

zwiastun
15-03-2013, 19:54
Strict Standards - to są ostrzeżenia wskazujące kod, który nie jest zgodny z aktualnymi standardami kodowania. Zignoruj.