Page 1 of 1

[Solved] Simpletagging 0.2.1

Posted: Tue Aug 04, 2009 12:01 pm
by blast2007
Innanzitutto bentornato ad Alby!

Tempo fa ho installato simpletagging 0.2.1. Ho letto nelle specifiche che la versione supportata massima di CMSMS deve essere 1.4, un vero peccato perchè è un modulo utile e semplice da utilizzare. Allora ho forzato nel codice la massima versione a 1.7.

Ecco pero' che nei log di apache ho iniziato a trovare i seguenti messaggi:

Code: Select all

... PHP Fatal error:  Call to a member function GetURL() on a non-object in /var/www/vhosts/www.mysite.com/httpdocs/modules/simpletagging/action.related.php on line 50 referer: http://.....
La riga 50 è la seguente (in grassetto):
$hm =& $gCms->GetHierarchyManager();

while ($result && !$result->EOF)
{
if ($result->fields['count'] getNodeById($result->fields[page_id]);
$curcontent = $curnode->getContent();
$tmp[url] = $curcontent->GetURL();
$tmp[title] = $curcontent->mName;
$percentage = round(($result->fields['count'] / $tagcount) * 100);
$tmp[percentage] = $percentage;
array_push($related, $tmp);
$result->moveNext();
}
Evidentemente gli aggiornmenti dei core files dalla 1.4 alla 1.6 sono state letali per il funzionamento del modulo.
Avete idee su come metterci una pezza e continuare ad utilizzare il modulo?

Anche perchè in questo momento non ho trovato alternative per il "Tagging" in CMSMS e SimpleTagging è fermo dal luglio 2008!

ciao e grazie
blast

Re: Simpletagging 0.2.1

Posted: Tue Aug 04, 2009 3:04 pm
by alby
blast2007 wrote: Innanzitutto bentornato ad Alby!
Grazie  :D

blast2007 wrote: La riga 50 è la seguente (in grassetto):
Il codice mi sembra corretto.
L'errore è facile sia dovuto al fatto che $result->fields[page_id] non è un vero page_id
Necessita di un pò di debug, hai visto nei bug del modulo?
Fai un test con una installazione pulita e con solo il modulo Simpletagging e poi riporta nei bug


PS: ho fatto un pò di pulizia degli altri topic

Alby

Re: Simpletagging 0.2.1

Posted: Tue Aug 04, 2009 3:07 pm
by blast2007
Ok grazie.
Caso mai riposto qui.

P.S. Scusa per la decina di thread duplicati ma erano le prove che ho fatto perche' non riuscivo a creare un nuovo thread.

Re: Simpletagging 0.2.1

Posted: Thu Aug 06, 2009 9:14 am
by blast2007
Finalmente dopo svariati test sono riuscito a isolare il problema.

Se aggiungo il tag "foto" su 4 pagine tutto funziona. Se "taggo" un'altra pagina con "foto" crasha tutto, nel senso che con l'errore fatale di PHP (quello della riga 50) non viene nemmeno terminato l'output della pagina.

Nel template richiamo il tag in questo modo:

Code: Select all

<!-- Tags: {content block="Tags" wysiwyg="false" oneline="true" size='200'} -->
{cms_module module="simpletagging" action="related"}
e i settaggi di simpletagging sono i seguenti:

Code: Select all

Tag coverage for related pages (%): 50
Maximum related pages: 5
il template usato per le pagine correlate è:

Code: Select all

<div id="tags">
<h3>Pagine Correlate:</h3>
<ul>
  {foreach from=$related item=page}
  <li><a href="{$page.url}">{$page.title}</a> ({$page.percentage}%)</li>
  {/foreach}
</ul>
</div>
Almeno è un punto di partenza...
Ora provero' ad alzare il numero massimo di pagine sei settaggi.

ciao
blast

Re: Simpletagging 0.2.1

Posted: Sat Aug 08, 2009 9:23 am
by blast2007
Aperto un nuovo bug per questo problema

Re: Simpletagging 0.2.1

Posted: Mon Aug 10, 2009 12:12 pm
by blast2007
Finalmente la luce!!!

Il problema si presenta se una delle pagine con tag non è attiva!!!

Ora viene il bello...modificare la query SQL...

Re: Simpletagging 0.2.1

Posted: Tue Aug 11, 2009 9:24 am
by blast2007
Ecco il codice modificato funzionante:

action.related.php
while ($result && !$result->EOF)
{
if ($result->fields['count'] getNodeById($result->fields['page_id']);
  $curcontent = $curnode->getContent();
  if (isset($curcontent) && $curcontent->Active() && $curcontent->ShowInMenu() ) {
  $tmp[url] = $curcontent->GetURL();
  $tmp[title] = $curcontent->mName;
  $percentage = round(($result->fields['count'] / $tagcount) * 100);
  $tmp[percentage] = $percentage;
  array_push($related, $tmp);
}
$result->moveNext();
}
ciao
blast