Forum->Flatnux->Problema supporto facebook
  
Welcome Unknown Register Help383 Users

User Message


johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Friday 29 October 2010 - 06:46

Re: Problema supporto facebook:
Mi sembra che sia buona usanza sul web mantenere su tutte le pagine il titolo principale del sito (che è settato nella configurazione di flatnux), ma poi sulle singole pagine e sezioni si può aggiungere al titolo il nome della sezione, e nel caso di una notizia in lettura, aggiungere il titolo della notizia al titolo principale con il titolo della sezione.
Quindi suggerirei di usare uno schema come il seguente:

index.php : "Flatnux" (o comunque il titolo del sito come definito nella configurazione principale)

index.php?mod=login : "Flatnux - login"

index.php?mod=news : "Flatnux - news"

index.php?mod=news&op=read&id=it/1262337275 : "Flatnux - news - Le XMLDB di Flatnux su PHPClasses"

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)



fm2002man

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Friday 29 October 2010 - 11:56

Re: Problema supporto facebook:
Sono daccordo con te johndorazio. Così in questo modo è anche più intuitivo per un utente ricordare quale pagina stia visitando in caso di caricamenti lenti dovuti alla connessione dell' utente o alla pesantezza della pagina o del sito.



johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Tuesday 02 November 2010 - 09:19

Re: Problema supporto facebook:
Anzi mi sembra che dovrebbe bastare di settare l'header con un file "sethead.php" in ogni sezione, infatti nei temi si ha, subito dopo la dichiarazione "<head>", il codice seguente:

	if (file_exists ( "sections/" . $_FN ['vmod'] . "/sethead.php" ))
include ( "sections/" . $_FN ['vmod'] . "/sethead.php" );


Meglio ancora c'è già nel "head.php" di flatnux il settaggio del titolo della pagina al titolo della sezione; i temi che personalizzano l'head.php dovrebbero adeguarsi:

	$sitename = $_FN['sitetitle'] ;
if ( $_FN['vmod'] != "" )
{
$tmp = preg_replace("/^[0-9][0-9]_/s","",$_FN['vmod']);
$title = str_replace("_"," ",str_replace(".php","",$tmp));
$titlesun = getLang("sections/{$_FN['vmod']}/lang.xml",$title);
$_FN['sitetitle'] = "$sitename » $titlesun";
}


Per quanto riguarda invece il caso di lettura della news la cosa è un poco più complicata... Perché quando si setta il titolo della pagina non si ha ancora a disposizione il titolo della news. (Se Papias ci è riuscito mi piacerebbe vedere il codice.) Si dovrebbe semmai inviare il titolo della news come parametro GET insieme all'id della notizia, tipo:
http://flatnux.altervista.org/news-read.html?id=it/1262337275&title=Le%20XMLDB%20di%20Flatnux%20su%20PHPClasses

E allora basterebbe aggiungere del codice a quello di cui sopra:

	$sitename = $_FN['sitetitle'] ;
if ( $_FN['vmod'] != "" )
{
$tmp = preg_replace("/^[0-9][0-9]_/s","",$_FN['vmod']);
$title = str_replace("_"," ",str_replace(".php","",$tmp));
$titlesun = "» ".getLang("sections/{$_FN['vmod']}/lang.xml",$title);
$titlespec = (isset($_GET['title'])) ? "» ".$_GET['title'] : "";
$_FN['sitetitle'] = "$sitename $titlesun $titlespec";
}


fm2002man:

Così in questo modo è anche più intuitivo per un utente ricordare quale pagina stia visitando

Ho l'impressione che ti stai riferendo al url, invece qui si sta parlando del titolo della pagina, quella insomma che compare come titolo della scheda di esplorazione e che compare come titolo del link segnato come "Mi piace" in facebook.

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)



papias

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Wednesday 03 November 2010 - 00:05

Re: Problema supporto facebook:
Ho risolto il problema di facebook sul sito di www.chiesasangiorgioalbanese.it inserendo nel tema il file head.php, ossia una versione personalizzata dell'head per ottenere maggiore compatibilità tra flatnux e facebook.

ecco il file:


<?php
header("Content-Type: text/html; charset=" . _CHARSET,true);

// start HTML headers
$doctype = theme_doctype();
if ( preg_match("/DTD HTML/",$doctype) )
{
$_FN['close_tag'] = "";
}
elseif ( preg_match("/DTD XHTML/",$doctype) )
{
$_FN['close_tag'] = " /";
}
$close_tag = $_FN['close_tag'];
echo $doctype;
?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"<? echo " lang=\"$lang\">\n";
echo "<head>\n";
$sitename = $_FN['sitetitle'] ;
$anteprima = $site_title;
if ( $_FN['vmod'] != "" )
{
$tmp = preg_replace("/^[0-9][0-9]_/s","",$_FN['vmod']);
$title = str_replace("_"," ",str_replace(".php","",$tmp));
$titlesun = getLang("sections/{$_FN['vmod']}/lang.xml",$title);
$_FN['sitetitle'] = "$sitename » $titlesun";
}
if (isset($_GET['id'])){
$id = $_REQUEST['id'];
$file = get_file("{$_FN['datadir']}/{$_FN['idmod']}/$id.xml");

$titolo = get_xml_element("fn:title",$file);
$titolo = substr($titolo,0,60);
$titolo = strip_tags($titolo);
$titolo = strippostpslashes($titolo);
$titolo = ltrim($titolo);
$titolo = rtrim($titolo);

$anteprima = get_xml_element("fn:header",$file);
$anteprima = strip_tags($anteprima);
$anteprima = strippostpslashes($anteprima);
$anteprima = ltrim($anteprima);
$anteprima = rtrim($anteprima);

$_FN['sitetitle'] = $_FN['sitetitle'] ." » ". $titolo;
}

echo "\t<title>{$_FN['sitetitle']}</title>\n";
echo "\t<meta name=\"description\" content=\"$anteprima\"/>\n";
echo "\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=" . _CHARSET . "\" $close_tag>\n";
echo "\t<meta name=\"Content-Language\" content=\"{$_FN['lang']}\" $close_tag>\n";
echo "\t<meta name=\"RESOURCE-TYPE\" content=\"DOCUMENT\" $close_tag>\n";
echo "\t<meta http-equiv=\"EXPIRES\" content=\"0\" $close_tag>\n";
echo "\t<meta name=\"DISTRIBUTION\" content=\"GLOBAL\" $close_tag>\n";
echo "\t<meta name=\"AUTHOR\" content=\"{$_FN['sitename']}\" $close_tag>\n";
echo "\t<meta name=\"COPYRIGHT\" content=\"Copyright (c) 2005 by {$_FN['sitename']}\" $close_tag>\n";
if ( file_exists("favicon.ico") ){echo "\t<link rel=\"icon\" type=\"image/x-icon\" href=\"{$_FN['siteurl']}favicon.ico\"$close_tag>\n";}
if ( $_FN['keywords'] != "" ) {echo "\t<meta name=\"KEYWORDS\" content=\"{$_FN['keywords']}\" $close_tag>\n";}
echo "\t<meta name=\"ROBOTS\" content=\"INDEX, FOLLOW\" $close_tag>\n";
echo "\t<meta name=\"REVISIT-AFTER\" content=\"1 DAYS\" $close_tag>\n";
echo "\t<meta name=\"RATING\" content=\"GENERAL\" $close_tag>\n";

if ( file_exists("" . $_FN['datadir'] . "/{$_FN['lang']}/backend.xml") ){
echo "\t<link rel=\"alternate\" type=\"application/rss+xml\" title=\"{$_FN['sitename']}\" href=\"{$_FN['siteurl']}" . "" . $_FN['datadir'] . "/{$_FN['lang']}/backend.xml\" $close_tag>\n";}

IncludeCss($close_tag);
echo "\n";

if ( file_exists("sections/" . $_FN['vmod'] . "/sethead.php") ){
include ("sections/" . $_FN['vmod'] . "/sethead.php");}
IncludeJavascripts();
echo "\n";


echo "\n</head>\n";
?>


Non garantisco il funzionamento con tutti i siti ma in generale dovrebbe andare.


La pagina delle news che trovate sul sito suddetto è molto personalizzata. Qualche settimana fa ci siamo sentiti via mail con alex e mi ha detto che sta riscrivendo la sezione news e quindi per ora credo che ci convenga aspettare. Comunque se qualcuno di voi necessita della personalizzazione basta copiare il codice del like di facebook ed iserirlo opportunamente nella funzione

read_news($news)
che trovate nel file section.php della sezione news.



papias



johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Wednesday 03 November 2010 - 01:03

Re: Problema supporto facebook:
Buona soluzione, in base all'id passata come parametro GET fai la ricerca della news corrispondente ed estrai il titolo della news dal file della news.
Certamente dovrebbe funzionare bene, mi chiedo se può essere più veloce passare il titolo come parametro GET insieme all'id piuttosto che fare questa operazione di ricerca del file ed estrazione del titolo.
Comunque complimenti per la soluzione.
Ed in effetti, credo che ci conviene aspettare per vedere i prossimi aggiornamenti di FlatnuX.

____________________________
"The whole of science is nothing more than a refinement of everyday thinking." (Albert Einstein)

 [1] [2] [3] [4]