Piona, szukałem i szukałem, ale nic nie znalazłem - po prostu szukać nie umiem, piszę sobie taki plugin do wyświetlania postaci w profilu, chciałbym aby za {costam} był wstawiony mój kod odpowiedzialny za wyświetlanie właśnie postaci, jak takie coś wykonać?
W pluginie możesz cośtakiego zrobić.
Np.:
Kod PHP:
function threads_postbit (&$post) {
global $db;
static $cache;
if (empty($cache[$post['uid']]))
{
$sql = "SELECT COUNT(tid) as num_threads
FROM ".TABLE_PREFIX."threads
WHERE uid = '{$post['uid']}'";
$query = $db->query($sql);
$cache[$post['uid']] = (int) $db->fetch_field($query, 'num_threads');
}
$post['num_threads'] = $cache[$post['uid']];
$post['user_details'] = str_replace('<!--tematy-->', $post['num_threads'], $post['user_details']);
return $post;
}
Wtedy pod zmienną {$post['num_threads']} będzie wyświetlała się ilość napisanych tematów przez użytkownika.
pokaz kod
nie {custom}
tylko {$custom}
$custom = 'kod';
@up: Przeczytaliście chociaż co autor chce zrobić?
Jeden z was podaje mu kod na gotowy plugin (który robi w ogóle coś innego niż autor chce osiagnać), a drugi poprawia zmienną...
Najpierw trzeba podpiąć hook z nazwą funkcji pluginu która będzie daną rzecz wyświetlała np.
Kod:
$plugins->add_hook("index_start", "mojplugin_show");
A później w pluginie
Kod:
$mojplugin = "Wyświetl w szablonie";
i w tym szablonie co został podpięty hook
Piona, a więc:
Kod:
function roleplay_show()
{
global $db, $mybb, $templates;
$query = $db->query("SELECT * FROM postacie_gracza WHERE owner=".$mybb->user['uid']);
while($result = $db->fetch_array($query))
{
$roleplay = $result['nick'];
}
return $roleplay;
}
I nic nie wyświetla, podpięty jest pod hook member_profile_end, w szablonie mam {$roleplay} i nie działa, co jest?
Jeszcze zmienna do linijki z global.
Kod PHP:
function roleplay_show()
{
global $db, $mybb, $templates, $roleplay;
$query = $db->query("SELECT * FROM postacie_gracza WHERE owner=".$mybb->user['uid']);
while($result = $db->fetch_array($query))
{
$roleplay = $result['nick'];
}
return $roleplay;
}
Nie jestem zaawansowanym developerem, ale powinno działać.
Okej, normalnie mi wyświetla - teraz taki problem że pokazuje tylko jedną postać, nie wiem dlaczego - oto kod:
Kod:
function roleplay_show()
{
global $db, $mybb, $roleplay;
$query = $db->query("SELECT * FROM postacie_gracza WHERE owner=".$mybb->user['uid']);
if($db->num_rows($query) > 0)
{
while($result = $db->fetch_array($query))
{
$roleplay = '<div class="pole"><div class="avek"><img src="images/Skins/Skin_'.$result['skin'].'.png" /></div><div class="dane">'.$result['nick']."<br />".czas($result['onlinetime'])."</div></div>";
}
}
return $roleplay;
}
Okej, zrobiłem: "$roleplay =" zamienić na "$roleplay .="