SSI Dersleri – Orta Seviye
Efendim, hepiniz SSI Dersleri - Orta Seviye'ye hoş geldiniz. Bu konuda SSI.php ile biraz daha ayrıntılı bilgileri işleyeceğiz. Tabii ki bu konudakiler tamamen sizlerin SSI Dersleri – Başlangıç Seviyesi (http://www.simplemachines.org/community/index.php?topic=240518.0)'ni okuduğunuzu varsayarak yazılmıştır. Herhangi bir soru sormak ya da yorum yapmak isterseniz lütfen bu mesajın altından devam edin.
***LÜTFEN 'SSI.PHP' DOSYANIZDA DEĞİŞİKLİK YAPMAYINIZ***
Bu derslerde gösterilen her şey 'SSI.php' dosyası düzenlenmeden yapılmıştır.
Fonksiyonu ihtiyaçlarıma göre nasıl düzenlerim?
SSI'ın esnek yapısı sayesinde fonksiyonları kolayca size uygun hale getirebilirsiniz. Daha iyi anlaşılabilmesi için hemen bir örnek verelim:
Örnek:
Forumunuza girişten önce kullandığınız bir sayfa var. Siz bu sayfada 'ssi_boardNews' fonksiyonunu kullanarak belirli bir bölümdeki konuların ilk mesajını görüntülüyorsunuz. Mesela siz bu fonksiyonunun "Duyurular" bölümünüzden –sayfanın uzun olmaması için- sadece 5 konunun ilk mesajlarının ilk 250 karakterinin göstermesini istiyorsunuz.
Belki birçoğunuz bunun imkansız olduğunu düşünüyor, Elmacık ya da HarzeM'in böyle bir kod yazıp yazmadığını araştırıyorsunuz. Ama buna hiç gerek yok, siz de bunu kolayca yapabilirsiniz. Nasıl mı? Hemen bakalım:
Muhtemelen siz fonksiyonları dosyanıza şu şekilde ekliyorsunuz: 'fonksiyonAdı();'. Ama eğer isteklerinize uygun olmasını istiyorsanız, fonksiyonu çağırırken bazı parametreler girmeniz gerekir.
Eğer bu fonksiyon için bakarsak, aşağıdaki parametreler girilebilir:
<?php
ssi_boardNews($board, $limit, $start, $length, $output_method);
?>
Yapmanız gereken tek şey buraya size uygun değerleri girmek. Yukarıda veridiğimiz örnek için değeler aşağıdaki gibi olmalı:
'Duyurular' bölümü IDsi 5 olarak alınmıştır, sadece örnektir.
<?php
ssi_boardNews(5, 5, null, 250, 'echo');
?>
$board = 5 – Mesajların alınmasını istediğiniz bölümün IDsi
$limit = 5 – Kaç tane mesajın gösterileceği [En son gönderilen 5 mesajı alır.]
$start = null – Kaçıncı mesajdan itibaren alınmaya başlanacağı [Fazla önemli değil, anlamak için kafa yormayın, null olarak bırakabilirsiniz.]
$length = 250 – Mesajın kaç karakterinin gösterileceği.
$output_method = 'echo' – Gösterim şekli [Bu şekilde bırakabilirsiniz.]
Bu kodu sayfanıza eklediğinizde mesajlar örnekteki gibi gösterilecektir.
'SSI.php'deki fonksiyonların birçoğu bu şekilde ayarlanabilen parametreler içermektedir, böylece kolaylıkla ihtiyaçlarınıza göre düzenleyebilirsiniz. Üstelik 'SSI.php'de herhangi bir değişiklik yapmanız gerekmez.
Bir fonksiyonunun yapısı nasıldır?
Lütfen bu kısmı atlamayın. İleride göreceğimiz konular için temel oluşturmaktadır.
'SSI.php'de fonksiyonların yapısı aşağıdaki gibidir:
Tamamını anlamayamazsanız üzülmeyiniz, bu bir Orta Seviye dersi.
1) Fonksiyon adlandırılır ve açılır
2) Veritabanına bağlanılır
3) Fonksiyon için gerekli olan bilgiler veritabanından alınır
4) Alınan veriler değişkenlerin ve dizilerin içine yerleştirilir
5) Bilgiler görüntülenir
Bir fonksiyonun sadece belirli bir kısmını nasıl kullanabilirim? Fonksiyonunun bilgileri istediğim şekilde göstermesini nasıl sağlarım?
Bu birçok kişinin takıldığı ve çok ilginç, uzun ve işlem hacminden öteye geçmeyen çözümler bulduğu bir soru. Bunu 'SSI.php'de herhangi bir değişiklik yapmadan kolayca yapabilirsiniz. Yukarıdaki örnekte kullandığımız fonksiyonu tekrar ele alalım:
Örnek:
Giriş sayfanızda 'Duyurular' bölümünde açılan son 5 konunun ilk mesajlarını göstermek istiyorsunuz ve bunun için 'ssi_boardNews' fonksiyonunu kullanacaksınız. Ancak bu fonksiyonun mesaj ikonu ve mesajın gönderilme tarihi gibi bazı ayrıntıları göstermesini istemiyorsunuz. Sizin ihtiyacınız olan sadece mesajın başlığı ve içeriği.
Fonksiyonun yapısını öğrendiğinize göre, istediğinizi kolayca yapabilirsiniz. Bilgilerin görüntülenmesi aşağıdaki kodlar ile yapılıyor:
foreach ($return as $news)
{
echo '
<table border="0" width="100%" align="center" class="ssi_table">
<tr>
<td>', $news['icon'], ' <b>', $news['subject'], '</b><span class="smaller"><br />', $news['time'], ' ', $txt[525], ' ', $news['poster']['link'], '<br /><br /></span></td>
</tr>
<tr>
<td>', $news['body'], '<br /><br /></td>
</tr>
<tr>
<td>', $news['link'], ' | ', $news['new_comment'], '</td>
</tr>
</table>
<br />';
if (!$news['is_last'])
echo '
<hr width="100%" />
<br />';
}
Kodların ilk kısmındaki 'foreach ($return as $news)' kodu, bilgilerin bulunduğu $return dizisindeki her bilgi için parantezlerin arasındaki kodun çalıştırılmasını sağlar.
Bu parantezlerin arasını incelediğimizde bize lazım olan şeylerin (konu başlığı -$news['subject']- ve mesaj içeriği -$news['body']-) dışındakileri sildiğimizde istediğimiz görüntüyü elde edebileceğimizi görüyoruz. Önceki örnekte olduğu gibi 5 mesajı, 5 IDli 'Duyurular' bölümünden alacak ve mesajların sadece ilk 250 karakterini görüntüleceğiz. [$output_method = Görüntülenme şekli 'array' olarak değişti.]
<?php
$array = ssi_boardNews(5, 5, null, 250, 'array');
foreach ($array as $news)
{
echo '
<table border="0" width="100%" align="center" class="ssi_table">
<tr>
<td><b>', $news['subject'], '</b></td>
</tr>
<tr>
<td>', $news['body'], '<br /><br /></td>
</tr>
</table>
<br />';
if (!$news['is_last'])
echo '
<hr width="100%" />
<br />';
}
?>
Kodlarda öncelikle fonksiyonunun kullandığı bilgileri $array dizisine aktarırız. Ardından da 'foreach' döngüsünü kullanarak bilgileri görüntüleriz.
Bu kodlar bize sadece konunun başlığını ve mesajın içeriğini gösterecektir. Ayrıca kodlara '<br />' ekleyerek ya da kodlardan bu kodu silerek aralıkları büyütüp küçültebilirsiniz.
Birçok fonksiyon bu şekilde çalışır.
Böylece SSI Dersleri – Orta Seviye'yi de burada noktaladık. Şimdi de SSI Dersleri – İleri Seviye'ye geçebilirsiniz.
Lütfen anlamakta zorluk çektiğiniz noktaları sormaktan çekinmeyiniz. Bu dersin kapsadığı bütün özellikler hakkında soru ve sorunlarınızı bu konu altına yazabilirsiniz.
Orijinal konu Advanced SSI FAQ (http://www.simplemachines.org/community/index.php?topic=13016.0), Tomer (http://www.simplemachines.org/community/index.php?action=profile;u=1176) tarafından yazılmıştır.
eline sağlık Sinan..
Güzel Çalışma Olmus Teşekkürler
ssi_boardNews özelliğinde sadece sadece belirlenen bir forumdan mesajları çekebiliyor . Ben tüm forumdan çekmesini istiyorum .Ne yapmam gerekiyor .
Yok mu cevap verecek bi arkadaş ?
Bunun için boardNews fonksiyonunda değişiklik yapmamız gerekecek. Bu fonksiyonda:
Bul ve sil:
WHERE ID_BOARD = $board
Sinan ben şöyle birşey yapmak istiyorum. Bölümlerin ilk değilde. Bütün bölümlerin veya istediğim bir kaç bölümün Son mesajlarını almak istiyorum.
Sanırım bir kaç bölüm seçmek için $board yazan yeri 2,5,10 olarak secebiliyoruz ? veya hepsini nasıl secerim? Birde ilk değilde son mesajlar olarak nasıl ayarlarım ?
Edit:Birinin hemen üstümde cevabı varmış :) Son mesajları hala öğrenemedim :(
Ben denemedim ama şu fonksiyonu kullanmayı dener misiniz?
// Show the latest news, with a template... by board.
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
{
global $scripturl, $db_prefix, $txt, $settings, $modSettings, $context;
global $func;
loadLanguage('Stats');
// Must be integers....
if ($limit === null)
$limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 5;
else
$limit = (int) $limit;
if ($start === null)
$start = isset($_GET['start']) ? (int) $_GET['start'] : 0;
else
$start = (int) $start;
if ($board !== null)
$board = (int) $board;
elseif (isset($_GET['board']))
$board = (int) $_GET['board'];
if ($length === null)
$length = isset($_GET['length']) ? (int) $_GET['length'] : 0;
else
$length = (int) $length;
$limit = max(0, $limit);
$start = max(0, $start);
// Make sure guests can see this board.
$request = db_query("
SELECT ID_BOARD
FROM {$db_prefix}boards
WHERE " . ($board === null ? '' : "ID_BOARD = $board
AND ") . "FIND_IN_SET(-1, memberGroups)
LIMIT 1", __FILE__, __LINE__);
if (mysql_num_rows($request) == 0)
{
if ($output_method == 'echo')
die($txt['smf_news_error2']);
else
return array();
}
list ($board) = mysql_fetch_row($request);
mysql_free_result($request);
// Load the message icons - the usual suspects.
$stable_icons = array('xx', 'thumbup', 'thumbdown', 'exclamation', 'question', 'lamp', 'smiley', 'angry', 'cheesy', 'grin', 'sad', 'wink', 'moved', 'recycled', 'wireless');
$icon_sources = array();
foreach ($stable_icons as $icon)
$icon_sources[$icon] = 'images_url';
// Find the post ids.
$request = db_query("
SELECT ID_LAST_MSG
FROM {$db_prefix}topics
WHERE ID_BOARD = $board
ORDER BY ID_LAST_MSG DESC
LIMIT $start, $limit", __FILE__, __LINE__);
$posts = array();
while ($row = mysql_fetch_assoc($request))
$posts[] = $row['ID_LAST_MSG'];
mysql_free_result($request);
if (empty($posts))
return array();
// Find the posts.
$request = db_query("
SELECT
m.icon, m.subject, m.body, IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime,
t.numReplies, t.ID_TOPIC, m.ID_MEMBER, m.smileysEnabled, m.ID_MSG, t.locked
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE t.ID_LAST_MSG IN (" . implode(', ', $posts) . ")
AND m.ID_MSG = t.ID_LAST_MSG
ORDER BY t.ID_LAST_MSG DESC
LIMIT " . count($posts), __FILE__, __LINE__);
$return = array();
while ($row = mysql_fetch_assoc($request))
{
// If we want to limit the length of the post.
if (!empty($length) && $func['strlen']($row['body']) > $length)
{
$row['body'] = $func['substr']($row['body'], 0, $length);
// The first space or line break. (<br />, etc.)
$cutoff = max(strrpos($row['body'], ' '), strrpos($row['body'], '<'));
if ($cutoff !== false)
$row['body'] = $func['substr']($row['body'], 0, $cutoff);
$row['body'] .= '...';
}
$row['body'] = parse_bbc($row['body'], $row['smileysEnabled'], $row['ID_MSG']);
// Check that this message icon is there...
if (empty($modSettings['messageIconChecks_disable']) && !isset($icon_sources[$row['icon']]))
$icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.gif') ? 'images_url' : 'default_images_url';
censorText($row['subject']);
censorText($row['body']);
$return[] = array(
'id' => $row['ID_TOPIC'],
'message_id' => $row['ID_MSG'],
'icon' => '<img src="' . $settings[$icon_sources[$row['icon']]] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" border="0" />',
'subject' => $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => forum_time(true, $row['posterTime']),
'body' => $row['body'],
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0">' . $row['numReplies'] . ' ' . ($row['numReplies'] == 1 ? $txt['smf_news_1'] : $txt['smf_news_2']) . '</a>',
'replies' => $row['numReplies'],
'comment_href' => !empty($row['locked']) ? '' : $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';num_replies=' . $row['numReplies'],
'comment_link' => !empty($row['locked']) ? '' : '<a href="' . $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';num_replies=' . $row['numReplies'] . '">' . $txt['smf_news_3'] . '</a>',
'new_comment' => !empty($row['locked']) ? '' : '<a href="' . $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . '">' . $txt['smf_news_3'] . '</a>',
'poster' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'href' => !empty($row['ID_MEMBER']) ? $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] : '',
'link' => !empty($row['ID_MEMBER']) ? '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' : $row['posterName']
),
'locked' => !empty($row['locked']),
'is_last' => false
);
}
mysql_free_result($request);
if (empty($return))
return $return;
$return[count($return) - 1]['is_last'] = true;
if ($output_method != 'echo')
return $return;
foreach ($return as $news)
{
echo '
<div>
<a href="', $news['href'], '">', $news['icon'], '</a> <b>', $news['subject'], '</b>
<div class="smaller">', $news['time'], ' ', $txt[525], ' ', $news['poster']['link'], '</div>
<div class="post" style="padding: 2ex 0;">', $news['body'], '</div>
', $news['link'], $news['locked'] ? '' : ' | ' . $news['comment_link'], '
</div>';
if (!$news['is_last'])
echo '
<hr style="margin: 2ex 0;" width="100%" />';
}
}
Sinan bu kodlar sayfaya yapıştırılacak kodlarsa sonuc bu
Parse error: syntax error, unexpected '<' in Dizin_asjdhakjsajsd/ferry.php on line 3
Değil. Bunlar kodlar sizin yeni ssi_boardNews fonksiyonunuzun.
İsterseniz bunu SSI.php'nin en sonuna ekleyin ve kodlarda
Bul:
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
Değiştir:
function ssi_boardNewsLast($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
Böylece normal fonksiyona dokunmamış oluruz. ssi_boardNewsLast() şeklinde çağırmalısınız.
Sinan oldu fakat özür dileyerek söylüyorum yanlışlıkla mesaj demişim :( Benim istediğim konuydu. Ama seni uğrastırmak istemem kendim bulacağım inşallah. Verdiğin kodlar oldu işine yarayan kullanabilir. Teşekkürler :)
Konu nasıl oluyor? Benzer birşey üzerinde uğraşıyorum. (20 dolara :P)
Quote from: [SiNaN] on June 26, 2008, 02:00:05 PM
Konu nasıl oluyor? Benzer birşey üzerinde uğraşıyorum. (20 dolara :P)
Foruma açılan son bilmem kaç konunun anasayfada cıkmasını istiyorum ama 20 doları ben hayatımda bi arada görmedim acıkcası images googleden aramayı düşünüyorum doları ama bakacak cesaret yok :)
Seninki kolay. :) 20 dolara yaptığım recentTopics'in gelişmiş hali gibi.
recentTopics'de olduğu gibi en son güncellenen konuları alıyor ve onların son 3 mesajını gösteriyor.
SSI.php'nin sonuna ekle:
function ssi_boardTopics($limit = null, $length = null, $output_method = 'echo')
{
global $scripturl, $db_prefix, $txt, $settings, $modSettings, $context, $user_info;
global $func;
loadLanguage('Stats');
// Must be integers....
if ($limit === null)
$limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 5;
else
$limit = (int) $limit;
if ($length === null)
$length = isset($_GET['length']) ? (int) $_GET['length'] : 0;
else
$length = (int) $length;
$limit = max(0, $limit);
$start = max(0, $start);
// Load the message icons - the usual suspects.
$stable_icons = array('xx', 'thumbup', 'thumbdown', 'exclamation', 'question', 'lamp', 'smiley', 'angry', 'cheesy', 'grin', 'sad', 'wink', 'moved', 'recycled', 'wireless');
$icon_sources = array();
foreach ($stable_icons as $icon)
$icon_sources[$icon] = 'images_url';
// Find the post ids.
$request = db_query("
SELECT b.ID_FIRST_MSG
FROM {$db_prefix}topics as b
WHERE $user_info[query_see_board]
ORDER BY b.ID_TOPIC DESC
LIMIT $limit", __FILE__, __LINE__);
$posts = array();
while ($row = mysql_fetch_assoc($request))
$posts[] = $row['ID_FIRST_MSG'];
mysql_free_result($request);
if (empty($posts))
return array();
// Find the posts.
$request = db_query("
SELECT
m.icon, m.subject, m.body, IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime,
t.numReplies, t.ID_TOPIC, m.ID_MEMBER, m.smileysEnabled, m.ID_MSG, t.locked
FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE t.ID_FIRST_MSG IN (" . implode(', ', $posts) . ")
AND m.ID_MSG = t.ID_FIRST_MSG
ORDER BY t.ID_FIRST_MSG DESC
LIMIT " . count($posts), __FILE__, __LINE__);
$return = array();
while ($row = mysql_fetch_assoc($request))
{
// If we want to limit the length of the post.
if (!empty($length) && $func['strlen']($row['body']) > $length)
{
$row['body'] = $func['substr']($row['body'], 0, $length);
// The first space or line break. (<br />, etc.)
$cutoff = max(strrpos($row['body'], ' '), strrpos($row['body'], '<'));
if ($cutoff !== false)
$row['body'] = $func['substr']($row['body'], 0, $cutoff);
$row['body'] .= '...';
}
$row['body'] = parse_bbc($row['body'], $row['smileysEnabled'], $row['ID_MSG']);
// Check that this message icon is there...
if (empty($modSettings['messageIconChecks_disable']) && !isset($icon_sources[$row['icon']]))
$icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.gif') ? 'images_url' : 'default_images_url';
censorText($row['subject']);
censorText($row['body']);
$return[] = array(
'id' => $row['ID_TOPIC'],
'message_id' => $row['ID_MSG'],
'icon' => '<img src="' . $settings[$icon_sources[$row['icon']]] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" border="0" />',
'subject' => $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => forum_time(true, $row['posterTime']),
'body' => $row['body'],
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0">' . $row['numReplies'] . ' ' . ($row['numReplies'] == 1 ? $txt['smf_news_1'] : $txt['smf_news_2']) . '</a>',
'replies' => $row['numReplies'],
'comment_href' => !empty($row['locked']) ? '' : $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';num_replies=' . $row['numReplies'],
'comment_link' => !empty($row['locked']) ? '' : '<a href="' . $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';num_replies=' . $row['numReplies'] . '">' . $txt['smf_news_3'] . '</a>',
'new_comment' => !empty($row['locked']) ? '' : '<a href="' . $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . '">' . $txt['smf_news_3'] . '</a>',
'poster' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'href' => !empty($row['ID_MEMBER']) ? $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] : '',
'link' => !empty($row['ID_MEMBER']) ? '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' : $row['posterName']
),
'locked' => !empty($row['locked']),
'is_last' => false
);
}
mysql_free_result($request);
if (empty($return))
return $return;
$return[count($return) - 1]['is_last'] = true;
if ($output_method != 'echo')
return $return;
foreach ($return as $news)
{
echo '
<div>
<a href="', $news['href'], '">', $news['icon'], '</a> <b>', $news['subject'], '</b>
<div class="smaller">', $news['time'], ' ', $txt[525], ' ', $news['poster']['link'], '</div>
<div class="post" style="padding: 2ex 0;">', $news['body'], '</div>
', $news['link'], $news['locked'] ? '' : ' | ' . $news['comment_link'], '
</div>';
if (!$news['is_last'])
echo '
<hr style="margin: 2ex 0;" width="100%" />';
}
}
ssi_boardTopics olarak kullan.
Sinan tam istediğim gibi oldu fakat dövmessen birsey daha soracağım. :)
function ssi_boardTopics($limit = null, $length = null, $output_method = 'echo')
Bu kısmı kendime göre düzenledim. eklemeler yaptım. Fakat örneğin atıyorum forumun genelinden değilde sadece seçtiğim bir kaç bölümden ceksin istiyorum. Board$ = 2,3,4 olaarak denedim olmadı. :(
Taksit taksit niye söylüyorsun ki? :)
Kodlarda;
Bul:
function ssi_boardTopics($limit = null, $length = null, $output_method = 'echo')
Değiştir:
function ssi_boardTopics($board = null, $limit = null, $length = null, $output_method = 'echo')
Bul:
WHERE $user_info[query_see_board]
Değiştir:
WHERE ID_BOARD IN $board
Bir kaç hafta önce işime çok yaramıştı teşekkür edememiştim.
Bu bilgiler için çok sağolun.
üstatım 1 seviyedede sordum buradada soruyorum acaba profili nasıl çagırrız ssi portala
Quote from: 01usagi01 on November 05, 2008, 03:59:12 AM
portala yollanan konuların altında
10 yorum | yorum yaz dior
bunu 10 yorumu silsek yorum yazıda resimlendirmek istesem nasıl olur acaba
1de
<?php ssi_topPoster(); ?>
burdaki konu var
bu bende 5 kişi var ama hepside yanyana
bunları altalta avatarlarıyla nasıl alabilirim
şimdiden teşekkürler
ustadlar, anket veya son oylanan anketi bir turlu sayfada yayinlayamadim diger istedigim butun SSI fonsiyonlar sorunsuz calisiyor anketi nasil cagirabilirim tesekkurler simdiden...
Quote from: 01usagi01 on November 05, 2008, 12:06:09 PM
Quote from: 01usagi01 on November 05, 2008, 03:59:12 AM
portala yollanan konuların altında
10 yorum | yorum yaz dior
bunu 10 yorumu silsek yorum yazıda resimlendirmek istesem nasıl olur acaba
1de
<?php ssi_topPoster(); ?>
burdaki konu var
bu bende 5 kişi var ama hepside yanyana
bunları altalta avatarlarıyla nasıl alabilirim
şimdiden teşekkürler
Ewet bunu anlatabilir misin [SiNaN]
<?php ssi_topPoster(); ?> olayını ...
İlk mesajda nasıl olacağını anlatmıştım.
Örnek bir kod:
$top_posters = ssi_topPoster(5, 'array');
echo '
<ol>';
foreach ($top_posters as $poster)
echo '
<li>', $poster['link'], ' - ', $poster['posts'], '</li>';
echo '
</ol>';
Quote from: Blue Dream on January 30, 2009, 07:20:18 AM
İlk mesajda nasıl olacağını anlatmıştım.
Örnek bir kod:
$top_posters = ssi_topPoster(5, 'array');
echo '
<ol>';
foreach ($top_posters as $poster)
echo '
<li>', $poster['link'], ' - ', $poster['posts'], '</li>';
echo '
</ol>';
Bu örnek koddan hata alıyorum :(
Nereye eklemeye çalışıyorsun?
Quote from: Yağız on January 30, 2009, 10:03:17 AM
Nereye eklemeye çalışıyorsun?
Pardon şimdi ayarladım çakışma oldu da demin başka değişken yazıyordum :)
kod daki ' - ' bu yeri kendinize göre ayarlıyorsunuz mesajlar neden - 30 -20 diye çıkıyor diye sormayın dieye yazdım :)
Edit ; Acaba <li> </li> taglarının olduğu bölüme bu kodu eklesek avatarları çıkar mı üyelerin ?
' , $context['user']['avatar']['image'] ,'
Edit ; Simpleportal karıştırıken böle bişi gördümfunction sp_topPoster($parameters)
{
global $db_prefix, $scripturl, $txt, $settings, $modSettings, $color_profile;
$topNumber = !empty($parameters[0]) ? $parameters[0] : 5;
if ($topNumber === null)
$topNumber = isset($_GET['limit']) ? (int) $_GET['limit'] : 5;
$list_no=1;
// Find the latest poster.
$request = db_query("
SELECT m.ID_MEMBER, m.realName, m.posts, m.avatar, a.ID_ATTACH, a.attachmentType, a.filename
FROM ({$db_prefix}members as m)
LEFT JOIN {$db_prefix}attachments AS a ON (a.ID_MEMBER = m.ID_MEMBER)
ORDER BY posts DESC
LIMIT $topNumber", __FILE__, __LINE__);
$top_posters = array();
$colorids = array();
while ($row = mysql_fetch_assoc($request)) {
if (stristr($row['avatar'], 'http://') && !empty($modSettings['avatar_check_size']))
{
$sizes = url_image_size($row['avatar']);
Kafam daha beter karıştı :(
Şu kodları kullanabilirsiniz:
$top_posters = ssi_topPoster(5, 'array');
echo '
<ol>';
foreach ($top_posters as $poster)
{
loadMemberData($poster['id']);
loadMemberContext($poster['id']);
echo '
<li>
<div style="float: left; padding: 0px 5px 5px 0px;">', $memberContext[$poster['id']]['avatar']['image'], '</div>
', $poster['link'], '<br />', $poster['posts'], ' ', $txt['posts'], '
<br style="clear: left;" />
</li>';
}
echo '
</ol>';
loadMemberData() ve loadMemberContext() fonksiyonları ile ayrıntılı üye bilgilerini yükleyebilirsiniz. Üye bilgileri $memberContext dizisinde üyenin idsinin indexi içerisine yüklenir. Bu fonksiyonları kullandıktan sonra aşağıdaki kodlarla $memberContext dizisindeki bilgileri görüntüleyebilirsiniz:
echo '<pre>';
print_r($memberContext);
echo '</pre>';
Abi kızmazsan bişi diyecem bunları yaptım dediğin gibi işe yaradı ama
böyle bir hata aldım yaptıktan sonra heralde bunla ilgili deildir
Notice: Undefined index: posts in c:\program files\easyphp1-8\www\index.php on line 66
SMF 1.1.7 kullanıyorsanız $txt['posts'] kodunu $txt[21] ile değiştirmelisiniz.
Çok çok çok teşekkürler :)
Her işin rast gitsin (https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg179.imageshack.us%2Fimg179%2F1976%2Fbigheartediconea6.gif&hash=c282cc37e57d1bc1a0b589cd48c864265365d1c6)
Sakın kalbi yanlış anlama :D
forum bilglerini kapsayan fonksiyonun degişkenlerinin alta alta degilde yan yana olması için böyle bi şey uyguladım hata aldım bunu nasıl yapabilirim ! veya nerde yanlış yapmışım !
// Show some basic stats: Total This: XXXX, etc.
function ssi_boardStats($output_method = 'echo')
{
global $db_prefix, $txt, $scripturl, $modSettings;
$totals = array(
'members' => $modSettings['totalMembers'],
'posts' => $modSettings['totalMessages'],
'topics' => $modSettings['totalTopics']
);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}boards", __FILE__, __LINE__);
list ($totals['boards']) = mysql_fetch_row($result);
mysql_free_result($result);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}categories", __FILE__, __LINE__);
list ($totals['categories']) = mysql_fetch_row($result);
mysql_free_result($result);
echo '
<table border="0" class="ssi_table" > ';
if ($output_method != 'echo')
return $totals;
echo '
<tr>
<td>
', $txt[488], ': <a href="', $scripturl . '?action=mlist">', $totals['members'], '
</td>
<td>
', $txt[489], ': ', $totals['posts'], '
</td>
<td>
', $txt[490], ': ', $totals['topics'], '
</td>
<td>
', $txt[658], ': ', $totals['categories'], '
</td>
<td>
', $txt[665], ': ', $totals['boards']
</td>
</tr>';
echo '
</table> ';
}
Aldığınız hatayı yazmalısınız.
// Show some basic stats: Total This: XXXX, etc.
function ssi_boardStats($output_method = 'echo')
{
global $db_prefix, $txt, $scripturl, $modSettings;
$totals = array(
'members' => $modSettings['totalMembers'],
'posts' => $modSettings['totalMessages'],
'topics' => $modSettings['totalTopics']
);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}boards", __FILE__, __LINE__);
list ($totals['boards']) = mysql_fetch_row($result);
mysql_free_result($result);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}categories", __FILE__, __LINE__);
list ($totals['categories']) = mysql_fetch_row($result);
mysql_free_result($result);
echo '
<table border="0" class="ssi_table">';
if ($output_method != 'echo')
return $totals;
echo '
<tr>
<td>', $txt[488], ': <a href="', $scripturl . '?action=mlist">', $totals['members'], '</td>
</tr><tr>
<td>', $txt[489], ': ', $totals['posts'], '</td>
</tr><tr>
<td>', $txt[490], ': ', $totals['topics'], ' </td>
</tr><tr>
<td>', $txt[658], ': ', $totals['categories'], '</td>
</tr><tr>
<td>', $txt[665], ': ', $totals['boards'], '</td>
</tr>';
echo '
</table> ';
}
Bu şekilde deneyin.
olmadı yagız ! alt alta gine :)
Pardon yanlış anlamışım :)
// Show some basic stats: Total This: XXXX, etc.
function ssi_boardStats($output_method = 'echo')
{
global $db_prefix, $txt, $scripturl, $modSettings;
$totals = array(
'members' => $modSettings['totalMembers'],
'posts' => $modSettings['totalMessages'],
'topics' => $modSettings['totalTopics']
);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}boards", __FILE__, __LINE__);
list ($totals['boards']) = mysql_fetch_row($result);
mysql_free_result($result);
$result = db_query("
SELECT COUNT(*)
FROM {$db_prefix}categories", __FILE__, __LINE__);
list ($totals['categories']) = mysql_fetch_row($result);
mysql_free_result($result);
echo '
<table border="0" class="ssi_table">';
if ($output_method != 'echo')
return $totals;
echo '
<tr>
<td>', $txt[488], ': <a href="', $scripturl . '?action=mlist">', $totals['members'], '</td>
<td>', $txt[489], ': ', $totals['posts'], '</td>
<td>', $txt[490], ': ', $totals['topics'], ' </td>
<td>', $txt[658], ': ', $totals['categories'], '</td>
<td>', $txt[665], ': ', $totals['boards'], '</td>
</tr>';
echo '
</table> ';
}
ama yagız benimkinden bi farkı yok ki ama bi deniyim gine ;D
Olmaz mı :). Sizin kodlarınızda şu kısımda hata var:
', $txt[665], ': ', $totals['boards']
</td>
bu eksik diye olmuyomuş ! bi virgülle tırnak nelere kadir :D :D
, '
teşekkürler yagız kodlamaya yeni geçtim acemilik işte :D ;D
Sinan
ssi_boardNews(5, 5, null, 250, 'echo');
bu gibi fonksiyonu Anketlerde nasıl kullanabilirim
Misal bir tablo icinde belirttigim son anketi gösterecek ? ya da son iki anketi göstericek
ssi_boardNews(5, 5, null, 250, 'echo');
bu kodu konuları altalta degılde yanyana sıralayacak sekılde yapabılırmıyız
orn:
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi43.tinypic.com%2F1zb4ac.jpg&hash=ea540cdb6a83ebb75ba90295621be8250e1ba634)
ya ssi isinde biraz acemiyim yardim edersiniz sanirim.
neyse ben direk yapmaya çalisipta basaradigim olayi resimli anlatmaya çalisayim
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fwww.hizliupload.com%2Fimg%2F598483istek.jpg&hash=8cd4413571fa257bbe3b421432dfdd044736c0e1)
üstteki resimde göründügü gibi birsey yapmaya çalistim ama ne kadar ugrastiysam olmadi
istedigim kategorilerin isimlerini yazacak hemen altinada bölümleri ve mesaj adetleri yazacak
acemi oldugum için fazla kurcalayamadim 3 konuyuda inceledim ne yaptiysam olmadi bir el atarsaniz sevinirim arkadaslar ya
@Gok86; array yöntemini kullanabilirsin. Bu konuda ilk mesajın son kodundaki HTML kodlarını düzenleyerek yapabilirsin.
arkadaşlar soruma yardım edebilecek varmı ¿¿¿
http://www.simplemachines.org/community/index.php?topic=240521.msg2216414#msg2216414
ssi_topBoards(); olayı ile yapacaksınız siz. ;)
Quote from: biggboss on August 17, 2009, 10:19:26 AM
ssi_topBoards(); olayı ile yapacaksınız siz. ;)
biliyorum ama istediğim şekilde olmuyor
istediğim olay bütün bölümler sabit kalacak 10 adet değil ne kadar varsa kategoride o kadar bölümü çekecek
ve her kategorini bölümlerini ayrı ayrı alacağım
ssi_topBoards();
olayında ise bütün kategorilerin bölümleri alınıyor ve hangi kategoriye yazılırsa yazılsın herhangi bir bölümü en üste atıyor
ben ise sabit kalmasını ve 10 ile sınırlı kalmasını istemiyorum
her kategoriye göre ayrı ayrı alma olayını ve sabit kalması olayını beceremedim zaten önemli olan kısmıda orası
10 tane kısmını fonksiyonu karıştırarak buldum ama onun sayısını arttırmak şuanda işime yaramaz
dediğim özellikleri yapamadıktan sonra
2 gündür pc başında birisi yardım eder diye bekliyorum ilgilenebilecek kimse yok mu
topBoards fonksiyonunda aşağıdaki sql de bulunan
ORDER BY b.numPosts DESC
LIMIT $num_top
ifadesini kaldırıp bir dene olmazsa oraya bunu ekle bir dene
ORDER BY b.boardOrder DESC
$request = db_query("
SELECT
b.name, b.numTopics, b.numPosts, b.ID_BOARD," . (!$user_info['is_guest'] ? ' 1 AS isRead' : '
(IFNULL(lb.ID_MSG, 0) >= b.ID_LAST_MSG) AS isRead') . "
FROM {$db_prefix}boards AS b
LEFT JOIN {$db_prefix}log_boards AS lb ON (lb.ID_BOARD = b.ID_BOARD AND lb.ID_MEMBER = $ID_MEMBER)
WHERE $user_info[query_see_board]" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
ORDER BY b.numPosts DESC
LIMIT $num_top", __FILE__, __LINE__);
Quote from: Arbalot on August 19, 2009, 02:35:09 AM
topBoards fonksiyonunda aşağıdaki sql de bulunan
ORDER BY b.numPosts DESC
LIMIT $num_top
ifadesini kaldırıp bir dene olmazsa oraya bunu ekle bir dene
ORDER BY b.boardOrder DESC
bu şekilde yapınca forumdaki sırası ile geliyor hocam teşekkürler
peki bunu id bazında çekebilir miyiz
yani şöyle id = 5 olan kategoriye göre bölümleri almak istiyorum sadece
sonrada id = 10 olanı çekeceğim sadece bu iki id ye sahip konuları çekmek istiyorum
yada istediğim herhangi birkaç kategori id sine göre çekmek için ne yapmam gerekiyor
yani kategorileri istediğim gibi çekip ayrı ayrı yerlerde yayınlamak için ne yapabilir.
sorguda bulunan
AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
yukarıdaki kodları bulun ve aşağıdakiler ile değiştirin
AND b.ID_CAT IN(1,2,3) AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
orda parantez içine virgülle ayırarak kategori idlerini yazabilirsiniz.
Quote from: Arbalot on August 20, 2009, 01:31:35 AM
sorguda bulunan
AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
yukarıdaki kodları bulun ve aşağıdakiler ile değiştirin
AND b.ID_CAT IN(1,2,3) AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
orda parantez içine virgülle ayırarak kategori idlerini yazabilirsiniz.
usta dediklerinizi harfiyen yapmama rahmen olmuyor
ilk verdiğinizde o kodu siliyorum forumdaki sıraya göre geliyor
sonra verdiğini kodu eklediğimde ise
sayfa görüntülenemiyor hatası veriyor
ne yapmam gerekiyor
Resimler uçtuğu için ne yapmak istediğinizi tam çözemedim. Tam oalrak ne yapmak istiyorsunuz?
Quote from: [Daydreamer] on August 25, 2009, 05:27:09 AM
Resimler uçtuğu için ne yapmak istediğinizi tam çözemedim. Tam oalrak ne yapmak istiyorsunuz?
yapmak istediğim tam olarak şu mesela ben 2 ve 5 id li kategorinin bölüm adlarını konu ve mesaj sayılarını çekmek istiyorum
ama mesaj yazdıkça üste taşımayacak sürekli forumdaki sırası ile kalacak umarım açıklayacı olmuştur
eğer anlatamadıysam resimler ile baştan anlatmaya çalışabilirim isterseniz
şu şekilde de olabilir aslında istediğim bi kategorinin id sini yazıp sadece o kategorinin bilgilerini çeksede olur
gerekirse foksiyonun adını değiştirir farklı bi kategori için düzenleyebilir yani tek bir kategorinin bilgilerini çeksede olur
3 farklı bölümden son mesajları almak istedigimizde ne yapmalıyız peki Sinan?
Farklı tabloda değil de hepsini aynı tabloda göstermek istedigimizi düşünürsek ?
arkadaşlar yardımlarınızı bekliyorum
@S_HA_DO_W benim verdiğim kodları deneyip bana site adresini verebilirmisin?
Quote from: Arbalot on August 28, 2009, 04:14:30 AM
@S_HA_DO_W benim verdiğim kodları deneyip bana site adresini verebilirmisin?
şuanda sizin verdiğiniz ssi.php kodları ekledim usta
adres bu
http://www.add-search-engine.co.cc/ornate/ornate/
şuanda deneme amaçlı ücretsiz bi yerde yapıyorum bu istediğimi başarırsam domain ve hostingi yaptığım gün alıp başlayacağım
forum adresi ise
http://www.add-search-engine.co.cc/smf
ssi_topboards kodlarının hepsini yapıştırıyorum buraya üstad
function ssi_topBoards($num_top = 15, $output_method = 'echo')
{
global $context, $settings, $db_prefix, $txt, $scripturl, $user_info, $modSettings, $smcFunc;
// Find boards with lots of posts.
$request = $smcFunc['db_query']('', '
SELECT
b.name, b.num_topics, b.num_posts, b.id_board,' . (!$user_info['is_guest'] ? ' 1 AS is_read' : '
(IFNULL(lb.id_msg, 0) >= b.id_last_msg) AS is_read') . '
FROM {db_prefix}boards AS b
LEFT JOIN {db_prefix}log_boards AS lb ON (lb.id_board = b.id_board AND lb.id_member = {int:current_member})
WHERE {query_wanna_see_board}' . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
AND b.ID_CAT IN(1,2) AND b.ID_BOARD != " . (int) $modSettings['recycle_board'] : '') . "
ORDER BY b.boardOrder DESC
LIMIT ' . $num_top,
array(
'current_member' => $user_info['id'],
'recycle_board' => (int) $modSettings['recycle_board'],
)
);
$boards = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
$boards[] = array(
'id' => $row['id_board'],
'num_posts' => $row['num_posts'],
'num_topics' => $row['num_topics'],
'name' => $row['name'],
'new' => empty($row['is_read']),
'href' => $scripturl . '?board=' . $row['id_board'] . '.0',
'link' => '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>'
);
$smcFunc['db_free_result']($request);
// If we shouldn't output or have nothing to output, just jump out.
if ($output_method != 'echo' || empty($boards))
return $boards;
echo '
<table class="ssi_table">
<tr>
<th align="left">', $txt['board'], '</th>
<th align="left">', $txt['board_topics'], '</th>
<th align="left">', $txt['posts'], '</th>
</tr>';
foreach ($boards as $board)
echo '
<tr>
<td>', $board['link'], $board['new'] ? ' <a href="' . $board['href'] . '"><img src="' . $settings['lang_images_url'] . '/new.gif" alt="' . $txt['new'] . '" border="0" /></a>' : '', '</td>
<td align="right">', $board['num_topics'], '</td>
<td align="right">', $board['num_posts'], '</td>
</tr>';
echo '
</table>';
}
günlerdir bekliyorum hiç kimse yardım etmeyecek mi arkadaşlar yaa
istediğim şey ortada benim istediğim herhangi bi kategorinin bölüm adlarını konu ve mesaj sayılarını alacak bu kadar
Tüm kategorileri ve bölüm adlarını almak için ben şu kodları kullanıyordum.
<?php
global $sourcedir, $context, $modSettings, $scripturl;
echo'<style type="text/css">
ul.sitemap
{
margin-left: 25px;
padding: 0;
list-style: none;
}
ul.sitemap li
{
background:transparent url(http://www.rockayseri.net/rk/Themes/rockayseri/images/profil/arrow.gif) no-repeat scroll 5px 9px;
padding: 4px 0 4px 30px;
}
ul.sitemap li ul li
{
padding: 4px 0 4px 30px;
}</style>';
// Retrieve the categories and boards.
require_once($sourcedir . '/Subs-BoardIndex.php');
$boardIndexOptions = array(
'include_categories' => true,
'base_level' => 0,
'parent_id' => 0,
'set_latest_post' => true,
'countChildPosts' => !empty($modSettings['countChildPosts']),
);
$context['categories'] = getBoardIndex($boardIndexOptions);
echo '
<ul class="sitemap">';
foreach ($context['categories'] as $category)
{
echo '
<li>', $category['link'];
echo '
<ul>';
foreach ($category['boards'] as $board)
{
echo '
<li><a href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>';
if (!empty($board['children']))
{
// Sort the links into an array with new boards bold so it can be imploded.
$children = array();
/* Each child in each board's children has:
id, name, description, new (is it new?), topics (#), posts (#), href, link, and last_post. */
foreach ($board['children'] as $child)
{
$child['link'] = '<a href="http://demo.rockayseri.net/' . $child['href'] . '" title="' . $child['posts'] . ' ' . $txt['redirects'] . '">' . $child['name'] . '</a>';
$children[] = $child['new'] ? '<strong>' . $child['link'] . '</strong>' : $child['link'];
}
echo '<ul><li style="font-size:10px;">', $txt['parent_boards'], ' : ', implode(', ', $children), '</li></ul>';
}
echo'</li>';
}
echo '
</ul>
</li>';
}
echo '
</ul>';
?>
Yapmak istediğiniz bunun gibi birşey mi?
Quote from: [Daydreamer] on September 06, 2009, 12:19:15 PM
Tüm kategorileri ve bölüm adlarını almak için ben şu kodları kullanıyordum.
<?php
global $sourcedir, $context, $modSettings, $scripturl;
echo'<style type="text/css">
ul.sitemap
{
margin-left: 25px;
padding: 0;
list-style: none;
}
ul.sitemap li
{
background:transparent url(http://www.rockayseri.net/rk/Themes/rockayseri/images/profil/arrow.gif) no-repeat scroll 5px 9px;
padding: 4px 0 4px 30px;
}
ul.sitemap li ul li
{
padding: 4px 0 4px 30px;
}</style>';
// Retrieve the categories and boards.
require_once($sourcedir . '/Subs-BoardIndex.php');
$boardIndexOptions = array(
'include_categories' => true,
'base_level' => 0,
'parent_id' => 0,
'set_latest_post' => true,
'countChildPosts' => !empty($modSettings['countChildPosts']),
);
$context['categories'] = getBoardIndex($boardIndexOptions);
echo '
<ul class="sitemap">';
foreach ($context['categories'] as $category)
{
echo '
<li>', $category['link'];
echo '
<ul>';
foreach ($category['boards'] as $board)
{
echo '
<li><a href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>';
if (!empty($board['children']))
{
// Sort the links into an array with new boards bold so it can be imploded.
$children = array();
/* Each child in each board's children has:
id, name, description, new (is it new?), topics (#), posts (#), href, link, and last_post. */
foreach ($board['children'] as $child)
{
$child['link'] = '<a href="http://demo.rockayseri.net/' . $child['href'] . '" title="' . $child['posts'] . ' ' . $txt['redirects'] . '">' . $child['name'] . '</a>';
$children[] = $child['new'] ? '<strong>' . $child['link'] . '</strong>' : $child['link'];
}
echo '<ul><li style="font-size:10px;">', $txt['parent_boards'], ' : ', implode(', ', $children), '</li></ul>';
}
echo'</li>';
}
echo '
</ul>
</li>';
}
echo '
</ul>';
?>
Yapmak istediğiniz bunun gibi birşey mi?
bütün kategorileri almak değilde sadece 1 tanesini almak hocam
yani benim id sini yazdığım 1 tane kategoriyi alacak ve onun bölümlerini vs. bilgilerini alacak
ama yazılan mesaja göre üste falan atmayacak forumdaki göründüğü sıra ile çekecek yani
Hmm..
<?php
global $sourcedir, $context, $modSettings, $scripturl;
echo'<style type="text/css">
ul.sitemap
{
margin-left: 25px;
padding: 0;
list-style: none;
}
ul.sitemap li
{
background:transparent url(http://www.rockayseri.net/rk/Themes/rockayseri/images/profil/arrow.gif) no-repeat scroll 5px 9px;
padding: 4px 0 4px 30px;
}
ul.sitemap li ul li
{
padding: 4px 0 4px 30px;
}</style>';
// Retrieve the categories and boards.
require_once($sourcedir . '/Subs-BoardIndex.php');
$boardIndexOptions = array(
'include_categories' => true,
'base_level' => 0,
'parent_id' => 0,
'set_latest_post' => true,
'countChildPosts' => !empty($modSettings['countChildPosts']),
);
$context['categories'] = getBoardIndex($boardIndexOptions);
echo '
<ul class="sitemap">';
foreach ($context['categories'] as $category)
{
echo '
<li>', $category['link'];
echo '
<ul>';
foreach ($category['boards'] as $board)
{
if ($category['id'] == 5)
{
echo '
<li><a href="', $board['href'], '" name="b', $board['id'], '">', $board['name'], '</a>';
if (!empty($board['children']))
{
// Sort the links into an array with new boards bold so it can be imploded.
$children = array();
/* Each child in each board's children has:
id, name, description, new (is it new?), topics (#), posts (#), href, link, and last_post. */
foreach ($board['children'] as $child)
{
$child['link'] = '<a href="http://demo.rockayseri.net/' . $child['href'] . '" title="' . $child['posts'] . ' ' . $txt['redirects'] . '">' . $child['name'] . '</a>';
$children[] = $child['new'] ? '<strong>' . $child['link'] . '</strong>' : $child['link'];
}
echo '<ul><li style="font-size:10px;">', $txt['parent_boards'], ' : ', implode(', ', $children), '</li></ul>';
}
echo'</li>';
}
else
{
echo'';}
echo '
</ul>
</li>';
}
echo '
</ul>';
?>
if ($category['id'] == 5) daki 5 yerine gerekli kategori idsini yazmayı deneyin.
Oluşan şey sizin istediğiniz gibi mi? Eğer öyleyse kalanını kolay :)
arkadaşlar ben şu forumdaki son konuları nasıl renklendirebilirim yani ssi_recentTopics arkadaşlar yardımlarınızı bekliyorum
Quote from: abdull@h on October 05, 2009, 09:23:28 AM
arkadaşlar ben şu forumdaki son konuları nasıl renklendirebilirim yani ssi_recentTopics arkadaşlar yardımlarınızı bekliyorum
Neresini renklendirmek istiyorsun ki?
berat siteme girdiğinde var şu Forumdan Son Mesajlar kısmı işte orayı renklendirmek istiyorum
Quote from: abdull@h on October 05, 2009, 09:43:15 AM
berat siteme girdiğinde var şu Forumdan Son Mesajlar kısmı işte orayı renklendirmek istiyorum
Link renklerini mi değiştirmek istiyorsun?
pardon berat onu söylemedin değil mi ya ben üyeler kısmını renklendirmek istiyorund
Quote from: abdull@h on October 05, 2009, 09:51:47 AM
pardon berat onu söylemedin değil mi ya ben üyeler kısmını renklendirmek istiyorund
Üye grubunun rengine göre renk alsın diyorsun sanıım? Onun için bu linkte beni tıkla :D (http://www.simplemachines.org/community/index.php?action=dlattach;topic=32101.0;attach=67165) -
İndireceğin paketi Paket Yönetici'sinden kur...
berat ben bu modu kurmayı denedim ama bana sürekli şu veriyor Hiçbir kurulum ve kaldırma eylemi tanımlanmadı!
Quote from: abdull@h on October 05, 2009, 10:04:18 AM
berat ben bu modu kurmayı denedim ama bana sürekli şu veriyor Hiçbir kurulum ve kaldırma eylemi tanımlanmadı!
Paket Yönetici'sinde aşağıda Sürüm Emülsyonu var. Ona tıkla açılan yere
2.0 Beta 3.1 Public yaz. Kur.
berat biraz daha açarmısın nasıl yani tam amlamadım
Quote from: abdull@h on October 05, 2009, 10:25:49 AM
berat biraz daha açarmısın nasıl yani tam amlamadım
Yönetim -> (Temel ->) Paketler-> Paket Yöneticisi (Paketleri Görüntüle) sayfasını aç. Kurulu paket listesinin altında Gelişmiş yazına tıkla. Ordan işte yukarıda ki dediğim işlemi yap.
dediğini yaptım değişen hiçbir şey olmadı
http://www.simplemachines.org/community/index.php?action=dlattach;topic=32101.0;attach=67165
Bunu paketlerden yükle.
yağız abi zaten berat bu paketi vermişti bana deniyorum dediğini ama olmuyor
Quote from: abdull@h on October 05, 2009, 11:26:20 AM
yağız abi zaten berat bu paketi vermişti bana deniyorum dediğini ama olmuyor
Halâ nesini yapadın anlayamıyorum. Yapabileceğim en son işlemi yapıyorum: Paketi 2.0 RC1.2 için güncelledim. Buraya (http://simpleportal.gen.tr/dosya/SSIMemberColorLink2.0RC12.zip) tıklayarak indirebilirsin.. Artık normal olarak yükleyeceksin. Gene yapamazsan benim kurmam gerekecek... >:( O:)
tamamdır bu sefer oldu berat çok tşk ederim
arkadaşlar şu şekilde bir fonksiyon yazabilirmiyiz.
mesela bir üyenin id si vericez ona ait ne varsa bize listelicek ,
şu sekilde yani.
üyenin id sinide bir değişken ile tanımlı olucak
function goster_member{
ismi
maili
mesaj sayısı
konusayısı
avatarı
doğum günü
üye grubu
msn
web adresi
kişisel mesajı
vs. vs.
}
goster_member($üye_id, avatar);
dediğimde avatarını göstersin mesela mümkünmüdür. kodlama konusunda çok iyi değilim o yuzden yanlışlık olabilir..
Evet, yazılabilir.
function viewMeber($id, $parametres)
{
Sorgusu falan filan
}
Kullanımıda
$parametres = array('avatar', 'ePosta', 'mesaj sayısı ', 'kişisel mesajı', '...');
viewMeber($id, $parametres)
gibi bir şey yazpılabilir...
Quote from: ▌grafitus▐ on October 31, 2009, 09:39:23 AM
Evet, yazılabilir.
function viewMeber($id, $parametres)
{
Sorgusu falan filan
}
Kullanımıda
$parametres = array('avatar', 'ePosta', 'mesaj sayısı ', 'kişisel mesajı', '...');
viewMeber($id, $parametres)
gibi bir şey yazpılabilir...
Şu sorgu olayı nasıl yuapılacak ama önemli olna kısmı orası ? :)
yardımcı olabilirmisiniz ?
Önceden yazılmış bir fonksiyon var zaten.
require_once(dirname(__FILE__) . '/SSI.php');
loadMemberData($ID_MEMBER);
loadMemberContext($ID_MEMBER);
$context['member'][$ID_MEMBER] = $memberContext[$ID_MEMBER];
Bu kodu istediğiniz yerde kullanabilirsiniz. Örnek:
<?php
require_once(dirname(__FILE__) . '/SSI.php');
loadMemberData($ID_MEMBER);
loadMemberContext($ID_MEMBER);
$context['member'][$ID_MEMBER] = $memberContext[$ID_MEMBER];
echo '<pre>';
print_r($context['member'][$ID_MEMBER]);
echo '</pre>';
?>
$context['member'][$ID_MEMBER] değişkeniyle neler kullanabileceğinizi gösterir.
ben ssi yi kullanmadan olsun istiyorum mesela boardindextemp e ekledigimde çalışsın mesageindextemp e ekledigimde de çalışsın . forum içerisinde nerede lazım olduı kullanacaksam oraya ekleyip kullanmak istiyorum.
Quote from: DissConnect on October 31, 2009, 10:05:30 AM
ben ssi yi kullanmadan olsun istiyorum mesela boardindextemp e ekledigimde çalışsın mesageindextemp e ekledigimde de çalışsın . forum içerisinde nerede lazım olduı kullanacaksam oraya ekleyip kullanmak istiyorum.
Tüm forum sayfalarında çıkması için ./Sources/Subs.php'ye,
Forum anasayfasında çıkması için ./Sources/BoardIndex.php'ye,
Konu listeleri sayfasında çıkması için ./Sources/MessageIndex.php'ye eklemelisiniz fonksiyonunuzu...
./Sources/Subs.php dosyasında bulun:
// Get some news...
Öncesine ekleyin:
global $memberContext, $ID_MEMBER;
loadMemberData($ID_MEMBER);
loadMemberContext($ID_MEMBER);
$context['user'] += array_merge($memberContext[$ID_MEMBER], $context['user']);
Bu değişiklikten sonra $context['user'] değişkenini istediğiniz yerde kullanabilirsiniz.
Quote from: Yağız... on October 31, 2009, 10:40:10 AM
./Sources/Subs.php dosyasında bulun:
// Get some news...
Öncesine ekleyin:
global $memberContext, $ID_MEMBER;
loadMemberData($ID_MEMBER);
loadMemberContext($ID_MEMBER);
$context['user'] += array_merge($memberContext[$ID_MEMBER], $context['user']);
Bu değişiklikten sonra $context['user'] değişkenini istediğiniz yerde kullanabilirsiniz.
$context['user'] += array_merge($memberContext[$ID_MEMBER], $context['user']);
Teşekkürler yardımınız için
+ fazla olmus burada silince oldu
$context['user']['avatar']['image'] şu sekilde kullanınca sadece giriş yapan uyeyi gösteriyor yani hangi uye sayfaya bakıyorsa .
şimdi asıl istediğim sey ben bir id vericem değişken ile
$userid; değişkenimiz.
bu değişkeni kullanarak idsi verilen üyenin avatarını göstermem lazım nasıl yapabilirim .
Edit: Teşekkürler hallettim.
// Show the latest news, with a template... by board.
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
hatası aldım :S
Quote from: _ImmorTaL_ on August 01, 2010, 11:30:46 AM
// Show the latest news, with a template... by board.
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
hatası aldım :S
Bu bir hata değil, PHP kodu.
Quote from: _ImmorTaL_ on August 01, 2010, 11:30:46 AM
// Show the latest news, with a template... by board.
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
hatası aldım :S
Muhtemelen kodları içerik etiketlerinin (body) dışına koymuşssunuzdur.
Merhaba ;
http://img828.imageshack.us/img828/4153/adszejb.png
Bu tarz birşey yapmak istiyorum. Fakat bir türlü konu içerisindeki resmi thumblayamadım eklentiden resimleri çekmeye çalıştım yıne olmadı. http://custom.simplemachines.org/mods/index.php?mod=2280 Bu eklentiyi yükleyip denemeler yaptım fakat yine aynı sonucu alamadım. Bu konuda yardımcı olursanız memnun olacağım.
Şimdiden yardımlarınız için teşekkür ederim.
http://www.simplemachines.org/community/index.php?topic=336895.msg2261690#msg2261690
Düzenleme: http://www.simplemachines.org/community/index.php?topic=336895.msg2419961#msg2419961
Buradakini kullanın, diğeri hatalı.
Kaç görüntülendiğini nasıl sağlayabiliriz?
Ekteki resimde de görüldüğü üzere sadece konu isimleri ve tarih yazmasını istiyorum bunu nasıl yapabilirim ?
Şimdiden teşekkürler
http://www.birlikteforum.com/forum/SSI.php?ssi_function=recentTopics
sol üst köşedeki
bunu: ?>
nasıl kaldırırım. nerden alıyor
Quote from: Wolt on August 14, 2011, 08:41:48 PM
http://www.birlikteforum.com/forum/SSI.php?ssi_function=recentTopics
sol üst köşedeki
bunu: ?>
nasıl kaldırırım. nerden alıyor
arkadaşlar bi yardım etseniz
Yanlış kodlaman yüzündendir iyi bak '; işaretlerine veya o kısıma koyduğun kodlara
Quote from: Alpay on August 16, 2011, 12:46:09 AM
Yanlış kodlaman yüzündendir iyi bak '; işaretlerine veya o kısıma koyduğun kodlara
yanlış kodlama doğru ama nerde? :-[
// Recent topic list: [board] Subject by Poster Date
function ssi_recentTopics($num_recent = 20, $exclude_boards = null, $include_boards = null, $output_method = 'echo')
{
ssı.php de kodlama yukardaki gibi olmasına rağmen 20 olan konu sayısı 14 çıkıyor :(
bi türlü çözemedim
konu güncel