SimplePortal
Support => Turkish (Türkçe) => International Support => Ki?iselle?tirme => Topic started by: mkuru on June 04, 2012, 10:13:27 AM
-
Arkadaşlar herhangi bir bölümden (mesela board=16) o bölüme açılmış son 10 konunun başlıklarını çekerek bir blok oluşturmak istiyorum. Bunu yaparken konu başlıklarına herhangi bir ikon olsa ve en son konunun başında yeni ikonu olursa daha da süper olur.
Yardım edebilecek arkadaşlara şimdiden teşekkür ederim.
-
Sitede yaptığım aramalarda bu kodu buldum ama ufak bir düzenlemeye ihtiyacım var.
Kodu grafitus yazmış
Kod bu :
global $context, $smcFunc, $scripturl;
if ($context['user']['is_guest'])
return;
$board = 6;
$limit = 5;
// Did we get the user by name...
if (isset($_REQUEST['user']))
$memberResult = loadMemberData($_REQUEST['user'], true, 'minimal');
// ... or by id_member?
elseif (!empty($_REQUEST['u']))
$memberResult = loadMemberData((int) $_REQUEST['u'], false, 'minimal');
// If it was just ?action=profile, edit your own profile.
else
$memberResult = loadMemberData($context['user']['id'], false, 'minimal');
list ($member_id) = $memberResult;
$request = $smcFunc['db_query']('', '
SELECT t.id_topic, m.subject
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
WHERE t.id_board = {int:board}
AND t.id_member_started = {int:user}
AND t.approved = {int:is_approved}
ORDER BY t.id_topic DESC
LIMIT 5',
array(
'board' => $board,
'user' => $member_id,
'is_approved' => 1,
)
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
$topics[$row['id_topic']] = $row['subject'];
$smcFunc['db_free_result']($request);
if (empty($topics))
{
echo 'Bu bölümde hiç konunuz yok.';
return;
}
echo '<ul>';
foreach ($topics as $id_topic => $subject)
echo '<li><a href="', $scripturl, '?topic=', $id_topic, '.0">', $subject, '</a></li>';
echo '</ul>';
Bu kod ile 6 numaralı bölümden son 5 konunun başlıklarını çekiyor ama çektiği başlıkları sadece üyeler görebiliyor. Ziyaretçiler göremiyor. Ben ziyaretçiler de görsün istiyorum.
Birde board sayısını nasıl arttırabilirim
$board = (6,7,8);
şeklinde denedim ama olmadı.
-
global $context, $smcFunc, $scripturl;
$board = 6;
$limit = 5;
// Did we get the user by name...
if (isset($_REQUEST['user']))
$memberResult = loadMemberData($_REQUEST['user'], true, 'minimal');
// ... or by id_member?
elseif (!empty($_REQUEST['u']))
$memberResult = loadMemberData((int) $_REQUEST['u'], false, 'minimal');
// If it was just ?action=profile, edit your own profile.
else
$memberResult = loadMemberData($context['user']['id'], false, 'minimal');
list ($member_id) = $memberResult;
$request = $smcFunc['db_query']('', '
SELECT t.id_topic, m.subject
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
WHERE t.id_board = {int:board}
AND t.id_member_started = {int:user}
AND t.approved = {int:is_approved}
ORDER BY t.id_topic DESC
LIMIT 5',
array(
'board' => $board,
'user' => 1,
'is_approved' => 1,
)
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
$topics[$row['id_topic']] = $row['subject'];
$smcFunc['db_free_result']($request);
if (empty($topics))
{
echo 'Bu bölümde hiç konunuz yok.';
return;
}
echo '<ul>';
foreach ($topics as $id_topic => $subject)
echo '<li><a href="', $scripturl, '?topic=', $id_topic, '.0">', $subject, '</a></li>';
echo '</ul>';
global $context, $smcFunc, $scripturl;
$board = 7;
$limit = 5;
// Did we get the user by name...
if (isset($_REQUEST['user']))
$memberResult = loadMemberData($_REQUEST['user'], true, 'minimal');
// ... or by id_member?
elseif (!empty($_REQUEST['u']))
$memberResult = loadMemberData((int) $_REQUEST['u'], false, 'minimal');
// If it was just ?action=profile, edit your own profile.
else
$memberResult = loadMemberData($context['user']['id'], false, 'minimal');
list ($member_id) = $memberResult;
$request = $smcFunc['db_query']('', '
SELECT t.id_topic, m.subject
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
WHERE t.id_board = {int:board}
AND t.id_member_started = {int:user}
AND t.approved = {int:is_approved}
ORDER BY t.id_topic DESC
LIMIT 5',
array(
'board' => $board,
'user' => 1,
'is_approved' => 1,
)
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
$topics[$row['id_topic']] = $row['subject'];
$smcFunc['db_free_result']($request);
if (empty($topics))
{
echo 'Bu bölümde hiç konunuz yok.';
return;
}
echo '<ul>';
foreach ($topics as $id_topic => $subject)
echo '<li><a href="', $scripturl, '?topic=', $id_topic, '.0">', $subject, '</a></li>';
echo '</ul>';
6 ve 7 bölüm idleridir.
-
Çok teşekkür ederim. Gayet güzel olmuş.
-
Konu başlıkları ortalanmış gibi duruyor. Sola dayalı olarak başlayacak şekilde nasıl ayarlanabilir acaba?
-
ya ortalanmıştır ya ortalanmamıştır. temanızın css dosyasından ya da portal blokları içerik stili / sınıfı ayarlarından yapabilir, yeni içerik stili ve / veya sınıfı ekleyebilirsiniz. Bu konuda moderatör arkadaşın anlatımları vardı. Arama yaparak bulabilirsiniz.
-
sayın grafitus un yazdığı bu kodu uyguluyorum ancak "bu bölümde konunuz yok" hatası veriyor.
yani bu kod sadece user olarak belirlenen kişinin konularını gösteriyor, konuyu kim yazarsa yazsın son 10 konuyu gösterme işini beceremedim ben.
yardımcı olabilir misiniz?
şurda : 'user' => 1,
yazan yer benim işimi bozuyor, bu sadece 1 nolu id hangi üyeye aitse onun konularını çekiyor.
-
Aşağıda ki konuyu inceledinizmi? Bu konuda user olayı yok.Bir deneyiniz.
http://simpleportal.net/index.php?topic=3966.0
-
o kodları denedim, alfabe sırasına göre konuları listeliyor ancak limit yok, yani bölümdeki tüm konular geliyor.
Sanırım acilen PHP öğrensem iyi olacak artık :)