index.php deki fonksiyonları page_header.php ye alabilirmiyiz?

Portal eklentileri ile ilgili konular.

index.php deki fonksiyonları page_header.php ye alabilirmiyiz?

İleti TheScorpion 08.12.2006, 21:50

ezportalı kullanıyorum. Site istatistikleri vb şeyleri hersayfada göstermek istiyorum. index.php deki fonksiyonları page_header a almak istiyorum. Daha önce bunu deneyen varmı? oldukça iyi bir php kod bilgisi gerekiyor sanırım.
Kullanıcı avatarı
TheScorpion
Üye
Üye
 
İleti: 152
Kayıt: 02.12.2005, 16:45

İleti XeNo 09.12.2006, 00:16

Merhaba,

Site istatistikleri vb. şeyleri her sayfada göstermek istiyorsanız, "templates/subSilver/overall_header.tpl" dosyasını kullanmanız gerekiyor. Yalnız bu, sizin için çok büyük sorunlara neden olabilir. Tüm istatistikler tüm sayfalarda olacaksa, istatistikler ile ilgili bir değişiklikte arayacağınız kodlar, eskiden belirtilen yerlerinde olmayacaktır. Üstelik, sonradan ekleyeceğiniz her türlü özellik (overall_header ile ilgili olanlar), bu kısmı etkileyeceğinden görüntü kirliliği ve kodlarda sorunlara neden olabilir.

"Olmaz mı?" derseniz, gayet tabiki; "Olur.". Ben denemedim. Açıkçası bana akıllıca bir fikir gibi gelmiyor. "Oldukça iyi bir php kod bilgisi gerektireceği"ni de sanmıyorum.

Bir de sizin "site istatistikleri"nden kastınız nedir? "Kimler Çevrimiçi" kısmı mı?

Kolay gelsin.
Kullanıcı avatarı
XeNo
Üye
Üye
 
İleti: 588
Kayıt: 05.10.2005, 16:25
Konum: İstanbul

İleti TheScorpion 09.12.2006, 13:00

portal için ayrı bir phpbb dizini açtım. Bu dediğim şeyide orda uygulayacağım. Aslında portalı oldukça değiştirdim bi ziyaret ederseniz göreceksiniz. Forumdaki belli bölümleride sol bloğa yerleştirdim. viewforum.php yi bolum.php yaptım viewtopic.php yi konu.php yaptım. bide portal.php var. portal.php de istatistik bilgileri vs fonksiyonları var zaten ama konu.php ye geçtiğimizde onlar görünmüyor. Bunun için page_header a almak istedim. overall_headera kodları alabilmek için fonksiyonların page_header da olması gerekiyor sanırım.

Bunun dışında "top topics on index" modu gibi index.php ye yüklenen modlarıda portalın hersayfasında göstermek istiyorum.

Yani kısa bir şekilde index.php yi page_header a almak istioyorum. include etmeyi denedim olmadı. ya da yerini iyi ayarlayamadım.
Kullanıcı avatarı
TheScorpion
Üye
Üye
 
İleti: 152
Kayıt: 02.12.2005, 16:45

İleti XeNo 10.12.2006, 00:50

Merhaba,

Şimdi bir dosyada isim değişikliğine giderseniz (ki gitmişsiniz), bu dosyanın isminin geçtiği tüm kodları tek tek değiştirmeniz gerekecektir. Bunu da tüm dosyaları tek tek açıp, arayarak yapabilirsiniz.

"page_header"da birçok fonksiyon var, evet. "overall_header" ise bir .tpl dosyası. Tüm forumların üzerinde yer alacak şeyleri belirleyebilirsiniz burada. "overall_footer" ile birbirlerinin aksi şekilde çalışıyorlar. Biri üst kısmı, diğeri alt kısmı düzenlemekte kullanılıyor. "overall_header" dosyasına bakarsanız zaten göreceksiniz ki, bu dosyada daha çok, stil ve düzen kodlarının yer aldığını göreceksiniz, fonksiyonlardan ziyade.

index.php'yi page_header'e almanın sizi fazlasıyla uğraştıracağını düşünüyorum. Bolca zamanınız varsa, siz bilirsiniz. Tüm kodları tek tek inceleyip, gerekenleri yapacak ya da yaptırtacak kadar bol vakte sahip değilim şu aralar. Üzgünüm. :(

Kolay gelsin.
Kullanıcı avatarı
XeNo
Üye
Üye
 
İleti: 588
Kayıt: 05.10.2005, 16:25
Konum: İstanbul

İleti TheScorpion 10.12.2006, 15:13

söylediğiniz gibi dosya ismi değişikliği için gerekenleri yaptım. Sizin söylediğiniz gibi index.php deki bütün kodları tek tek inceleyerek page_header a almam gerekiyor. Bunun içinde bir kodun nerde başlayıp nerde bittiğini yada aynı kodun page_header da çalışıp çalışmadığını bilmek gerekiyor. Ben en iyisi size bu konularda sorularımı yöneltiyim.

Örneğin top topics on index modunun index.php ile ilgili olan kısmı aşağıda. Bu kod page_header da çalışırmı? Çalışırsa hangi kısmına koymalıyım.
[syntax="php"]#
#-----[ OPEN ]------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------
#

//
// Okay, let's build the index
//
for($i = 0; $i < $total_categories; $i++)
{
$cat_id = $category_rows[$i]['cat_id'];


#
#-----[ BEFORE, ADD ]------------------------------------------
#

//------------------------------------------------------------------------
// Top Topics on Index 1.1.0 - Begin Code Addition
//
$template->assign_vars(array(
'L_TOPICSRECENT' => $lang['TopicsRecent'],
'L_TOPICSPOPULAR' => $lang['TopicsPopular'],
'L_TOPICSPOPULARVIEW' => $lang['TopicsPopularView'])
);

// Get forum auth information to insure privacy of hidden topics
$topics_auth = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
$topics_auth_sql = '';
foreach($topics_auth as $k=>$v)
{
if( $v['auth_view'] && $v['auth_read'] )
{
$topics_auth_sql .= (( empty($topics_auth_sql) ) ? '': ', ') . $k;
}
}

if( empty($topics_auth_sql) )
{
$template->assign_block_vars('topicrecentpopular', array(
'TOPICSPOPULAR' => $lang['No_Posts'],
'TOPICSPOPULARVIEW' => $lang['No_Posts'],
'TOPICSRECENT' => $lang['No_Posts']
));
}
else
{
//
// Okay, let's build the topic recent and popular
//
$active_topics_sql = 'SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_views, t.topic_last_post_id
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE. ' f
WHERE t.forum_id IN (' . $topics_auth_sql . ')
AND f.forum_id = t.forum_id
ORDER BY %1$s DESC
LIMIT 0,5';
$active_topics_sql_a = sprintf($active_topics_sql, 'topic_last_post_id');
$active_topics_sql_b = sprintf($active_topics_sql, 'topic_replies');
$active_topics_sql_c = sprintf($active_topics_sql, 'topic_views');
$recent_row = $popular_row = $viewed_row = array();

if( !$active_topics_a = $db->sql_query($active_topics_sql_a))
{
message_die(GENERAL_ERROR, 'Could not retrieve recent topics', '', __LINE__, __FILE__, $active_topics_sql_a);
}
$recent_row = $db->sql_fetchrowset($active_topics_a);
$db->sql_freeresult($active_topics_a);

if( !$active_topics_b = $db->sql_query($active_topics_sql_b))
{
message_die(GENERAL_ERROR, 'Could not retrieve popular topics', '', __LINE__, __FILE__, $active_topics_sql_b);
}
$popular_row = $db->sql_fetchrowset($active_topics_b);
$db->sql_freeresult($active_topics_b);

if( !$active_topics_c = $db->sql_query($active_topics_sql_c))
{
message_die(GENERAL_ERROR, 'Could not retrieve most viewed topics', '', __LINE__, __FILE__, $active_topics_sql_c);
}
$viewed_row = $db->sql_fetchrowset($active_topics_c);
$db->sql_freeresult($active_topics_c);

for( $i = 0; $i < 5; $i++ )
{
$recent_topic_title = $recent_row[$i]['topic_title'];
$popular_topic_title = $popular_row[$i]['topic_title'];
$viewed_topic_title = $viewed_row[$i]['topic_title'];

if( strlen($recent_topic_title) > 40 )
{
$recent_topic_title = substr($recent_topic_title, 0, 40) . '...';
}

if( strlen($popular_topic_title) > 40 )
{
$popular_topic_title = substr($popular_topic_title, 0, 40) . '...';
}

if( strlen($viewed_topic_title) > 40 )
{
$viewed_topic_title = substr($viewed_topic_title, 0, 40) . '...';
}

$recent_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $recent_row[$i]['topic_id'] . '" title="' . $recent_row[$i]['topic_title'] . '">' . $recent_topic_title . '</a>';
$popular_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $popular_row[$i]['topic_id'] . '" title="' . $popular_row[$i]['topic_title'] . '">' . $popular_topic_title . '</a>';
$popular_total_replies = $popular_row[$i]['topic_replies'];
$viewed_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $viewed_row[$i]['topic_id'] . '" title="' . $viewed_row[$i]['topic_title'] . '">' . $viewed_topic_title . '</a>';
$viewed_total_replies = $viewed_row[$i]['topic_views'];

$template->assign_block_vars('topicrecentpopular', array(
'TOPICSPOPULAR' => $popular_post,
'TOPICSPOPULARC' => $popular_total_replies,
'TOPICSPOPULARVIEW' => $viewed_post,
'TOPICSPOPULARVIEWC' => $viewed_total_replies,
'TOPICSRECENT' => $recent_post)
);
}
}
//
// Top Topics on Index 1.1.0 - End Code Addition
//------------------------------------------------------------------------[/syntax]
Kullanıcı avatarı
TheScorpion
Üye
Üye
 
İleti: 152
Kayıt: 02.12.2005, 16:45


Portal



Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir