Moro.
Tällaista ongelmaa tällä kertaa:
Käytän sivustollani CuteNews-uutistenjulkaisuohjelmaa ja nyt tarvisi saada uutisen otsikko jollain tapaa ongittua tuolta CuteNewsistä ja liitettyä sivun Open Graph metatietoihin, jolloin jaettaessa uutista FB:ssä näkyisi oikea otsikko. Mitenhän tämä onnistuisi?
cn_api.php
<?php // API: External function for CN require_once dirname(__FILE__).'/core/init.php'; // Input: $id - timestamp, $data - entry data function cn_api_add_news($id, $data) { $nloc = db_get_nloc($id); $db = db_news_load($nloc); $db[$id] = $data; // add data db_save_news($db, $nloc); $user = db_user_by_name($data['u']); db_index_add($id, $data['c'], $user['id'], $data['is_draft']); } // Since 2.0: Get news entry function cn_api_get_entry($id = NULL) { if (is_null($id)) $id = REQ('id'); $id = cn_id_alias($id); $db = db_news_load(db_get_nloc($id)); // Other meta-information if (isset($db[$id])) { $_cot = array(); $_cat = cn_get_categories(true); $_cts = spsep($db[$id]['c']); foreach ($_cts as $cid) $_cot[$cid] = $_cat[$cid]['name']; $db[$id][':cot'] = $_cot; return $db[$id]; } else return array(); }
<meta property="og:title" content="Uutiset"> <meta property="og:description" content="Uutisen otsikko">
Jostain löysin tällaisen koodipätkän millä tuo tieto ilmeisesti pitäisi saada tulostettua mutta en tiedä miten tuota käytetään.
<?php require_once '/home/user/public_html/uutiset/cn_api.php'; $entry = cn_api_get_entry(); if ($entry['t']) { // ........ $header_title = $entry['t']; print_r($entry); }
eikös tuossa nyt tuo $header_title sisällä tuon otsikon (entry['t'])? eli käytä sitä kuin mitä tahansa muuttujaa. testaa vaikka tuon if lohkosi sisällä, palautuuko oikea arvo.
<?php require_once '/home/user/public_html/uutiset/cn_api.php'; $entry = cn_api_get_entry(); if ($entry['t']) { // ........ $header_title = $entry['t']; echo '<h1>'.$header_title.'</h1>'; }
Tuo koodi tulostaa koko uutisen otsikoineen ja sisältöineen sekä sekalaisen merkkijonon tämän perään
[f] => [c] => 1 [co] => Array ( ) [mf] => Array ( ) [ht] => 1 [:cot] => Array ( [1] => uutiset ) )
Tuon pelkän otsikon kun saisi tulostettua...
tämän mukaan kyllä $entry['t']:n pitäisi palauttaa pelkkä otsikko.
No nyt alkoi selvitä kun katsoin tuota esimerkkisivua, kiitos.
Aihe on jo aika vanha, joten et voi enää vastata siihen.