Hjälp med PHP-kod önskas

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1

Jag skulle behöva lite med hjälp att ändra i koden till Topics Anywhere, en mod som skapar RSS-feeds till phpBB-forum. Som det är nu skapar TA en rubrik i RSS-läsaren som ser ut så här:
Trådrubrik In Forumnamn

Inte så snyggt på svenska. Det skulle också vara mer överskådligt om det såg ut så här:
Forumnamn: Trådrubrik

Koden som skapar det ser ut så här:

$title = htmlspecialchars(strip_tags($data[$i]['topic_type']), ENT_QUOTES, $lang['ENCODING']);
$title .= ($data[$i]['topic_type'] == '') ? '' : ' ';
$title .= htmlspecialchars($data[$i]['topic_title'], ENT_QUOTES, $lang['ENCODING']);
$title .= ($data[$i]['forum_name'] == '') ? '' : ' ' . htmlspecialchars($lang['In']) . ' ';
$title .= htmlspecialchars($data[$i]['forum_name'], ENT_QUOTES, $lang['ENCODING']);

Någon som har någon idé om hur jag ska ändra. Mina försökt hittills har resulterat i parse_error (unexpected '.'). Min erfarenhet av hur phpBB är uppbyggt är begränsad så jag är osäker på vad "ENT_QUOTES, $lang['ENCODING']" gör (mer än att det har med språkfunktionerna att göra)...
Tack på förhand!

  • Medlem
  • Stockholm
  • 2004-11-29 17:31

En liten start bara....
(eftersom jag inte har varken phpbb eller TA)

$title = htmlspecialchars(strip_tags($data[$i]['topic_type']), ENT_QUOTES, $lang['ENCODING']);
$title .= ($data[$i]['topic_type'] == '') ? '' : ' ';
$title .= htmlspecialchars($data[$i]['topic_title'], ENT_QUOTES, $lang['ENCODING']);
$title .= ($data[$i]['thread_name'] == '') ? '' : ': ';
$title .= htmlspecialchars($data[$i]['thread_name'], ENT_QUOTES, $lang['ENCODING']);

Bytte ut " In " mot ": " och $data[$i]['forum_name'] mot $data[$i]['thread_name'] där de senare är rena chansningen. Har ingen aning om var trådens namn sparas.

Senast redigerat 2004-11-29 21:59

Hej Michael, jag har påtat en del i phpBB2 på sista tiden och såhär hänger det ihop.

Du ska ha ett language-pack i din installation, om inte så finns det att ladda ner och installera, den brukar ligga under phpBB2/language/ sök där. Ur ditt language-pack hämtas alla [FONT="Courier New"]$lang['<namn>'][/FONT] strängar utifrån det språk som är valt av administratören eller forumbesökaren.

Raderna i din titel till RSS-feeden gör följande saker:

// Sätter titeln till 'topic_type', om det är KLISTRAD, VIKTIGT MEDDELANDE osv
$title = htmlspecialchars(strip_tags($data[$i]['topic_type']), ENT_QUOTES, $lang['ENCODING']);

// Om en 'topic_type'-fanns så skrivs ett mellanslag
$title .= ($data[$i]['topic_type'] == '') ? '' : ' ';


// Lägger till 'topic_title' till raden, trådens namn alltså
$title .= htmlspecialchars($data[$i]['topic_title'], ENT_QUOTES, $lang['ENCODING']);

// Om en 'topic_title' fanns så läggs ett mellanslag och 'In' ur ditt language-pack till
$title .= ($data[$i]['forum_name'] == '') ? '' : ' ' . htmlspecialchars($lang['In']) . ' ';

// Till sist läggs 'forum_name' till alltså forumets namn
$title .= htmlspecialchars($data[$i]['forum_name'], ENT_QUOTES, $lang['ENCODING']);

Här är en variant av koden för att göra den titel du vill ha (inklusive topic_type).

// Först "Forumnamn"
$title = htmlspecialchars($data[$i]['forum_name'], ENT_QUOTES, $lang['ENCODING']);

// Vi lägger till 'topic_type' för vissa trådar och ett kolon+mellanslag
$title .= htmlspecialchars(strip_tags($data[$i]['topic_type']), ENT_QUOTES, $lang['ENCODING']);
$title .= ': ';

// Till sist lägger vi till trådens titel
$title .= htmlspecialchars($data[$i]['topic_title'], ENT_QUOTES, $lang['ENCODING']);

Har inte testat själv men något ditåt borde fungera. Lycka till.

Tusen tack! Det där med language-pack känner jag till och den filen finns. Någon gång kanske jag orkar översätta den också. Ska testa din kod nu.

1
Bevaka tråden