PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : محبوب‌ترین مطالب روز - هفته - ماه



webpen
03-25-2007, 03:12 PM
یکی از مشکلات من با مامبو ماژول محبوب‌ترین مطالبه سایته.

گرچه امکان عالی‌ای برای سایت حساب میشه ولی چون محبوب‌ترین مطالب رو از ابتدای راه‌اندازی نشون میده یه جاهایی به کار نمیاد.
مثلا برای من که یه سایت خبری دارم. 5 تا مطلب قدیمی نمایش داده میشه که خیلی جالب نیست.
کسی ماژولی سراغ نداره بشه محبوب‌ترین مطالب مطالب روز - هفته - ماه رو نمایش داد؟

ahmadzadeh
03-25-2007, 04:07 PM
سلام
دوست عزیز نیاز به ماژول اضافی نیست
توجه به کد

OR a.publish_up <= " . $database->Quote( $now )
اگه همون ماژول را باز کنی چند جا می بینی برای کنترل تاریخ علامت => گذاشته اگه همون ها را به == تبدیل کنی مطالب محبوب روز را نشان می دهد
اگه به جای $now تاریخ 1 هفته پیش را بزاری یا تاریخی که اول هر هفته را نشان می دهد و علامت => را به =< تبدیل کنید از اون تاریخ به این ور محوب ها را نشان می دهد و به همین ترتیب
یا علی/خداحافظ

webpen
03-25-2007, 04:43 PM
کد رو پیدا نکردم...
کلش رو میزام اینجا.
می‌خواستم محبوب‌ترین های ماه نمایش داده بشه.
modules\mod_mostread.php



<?php
/**
* @version $Id: mod_mostread.php,v 1.1 2005/07/22 01:58:30 eddieajau Exp $
* @package Mambo
* @copyright (C) 2000 - 2005 Miro International Pty Ltd
* @license <b><font color=red>فقط کاربران عضو انجمن می توانند لینک ها را مشاهده کنند</font></b> GNU/GPL
* Mambo is Free Software
*/

/** ensure this file is being included by a parent file */
defined( &#039;_VALID_MOS&#039; ) or die( &#039;Direct Access to this location is not allowed.&#039; );

global $mosConfig_offset, $mosConfig_live_site;

$type = intval( $params-&gt;get( &#039;type&#039;, 1 ) );
$count = intval( $params-&gt;get( &#039;count&#039;, 5 ) );
$catid = trim( $params-&gt;get( &#039;catid&#039; ) );
$secid = trim( $params-&gt;get( &#039;secid&#039; ) );
$show_front = $params-&gt;get( &#039;show_front&#039;, 1 );
$class_sfx = $params-&gt;get( &#039;moduleclass_sfx&#039; );

$now = date( &#039;Y-m-d H:i:s&#039;, time()+$mosConfig_offset*60*60 );

$access = !$mainframe-&gt;getCfg( &#039;shownoauth&#039; );

// select between Content Items, Static Content or both
switch ( $type ) {
case 2:
$query = &quot;SELECT a.id, a.title&quot;
. &quot;\n FROM #__content AS a&quot;
. &quot;\n WHERE ( a.state = &#039;1&#039; AND a.checked_out = &#039;0&#039; AND a.sectionid = &#039;0&#039; )&quot;
. &quot;\n AND ( a.publish_up = &#039;0000-00-00 00:00:00&#039; OR a.publish_up &lt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. &quot;\n AND ( a.publish_down = &#039;0000-00-00 00:00:00&#039; OR a.publish_down &gt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. ( $access ? &quot;\n AND a.access &lt;= &#039;&quot;. $my-&gt;gid .&quot;&#039;&quot; : &#039;&#039; )
. &quot;\n ORDER BY a.hits DESC LIMIT $count&quot;
;
$database-&gt;setQuery( $query );
$rows = $database-&gt;loadObjectList();
break;

case 3:
$query = &quot;SELECT a.id, a.title, a.sectionid&quot;
. &quot;\n FROM #__content AS a&quot;
. &quot;\n WHERE ( a.state = &#039;1&#039; AND a.checked_out = &#039;0&#039; )&quot;
. &quot;\n AND ( a.publish_up = &#039;0000-00-00 00:00:00&#039; OR a.publish_up &lt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. &quot;\n AND ( a.publish_down = &#039;0000-00-00 00:00:00&#039; OR a.publish_down &gt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. ( $access ? &quot;\n AND a.access &lt;= &#039;&quot;. $my-&gt;gid .&quot;&#039;&quot; : &#039;&#039; )
. &quot;\n ORDER BY a.hits DESC LIMIT $count&quot;
;
$database-&gt;setQuery( $query );
$rows = $database-&gt;loadObjectList();
break;

case 1:
default:
$query = &quot;SELECT a.id, a.title, a.sectionid, a.catid&quot;
. &quot;\n FROM #__content AS a&quot;
. &quot;\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id&quot;
. &quot;\n WHERE ( a.state = &#039;1&#039; AND a.checked_out = &#039;0&#039; AND a.sectionid &gt; &#039;0&#039; )&quot;
. &quot;\n AND ( a.publish_up = &#039;0000-00-00 00:00:00&#039; OR a.publish_up &lt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. &quot;\n AND ( a.publish_down = &#039;0000-00-00 00:00:00&#039; OR a.publish_down &gt;= &#039;&quot;. $now .&quot;&#039; )&quot;
. ( $access ? &quot;\n AND a.access &lt;= &#039;&quot;. $my-&gt;gid .&quot;&#039;&quot; : &#039;&#039; )
. ( $catid ? &quot;\n AND ( a.catid IN (&quot;. $catid .&quot;) )&quot; : &#039;&#039; )
. ( $secid ? &quot;\n AND ( a.sectionid IN (&quot;. $secid .&quot;) )&quot; : &#039;&#039; )
. ( $show_front == &quot;0&quot; ? &quot;\n AND f.content_id IS NULL&quot; : &#039;&#039; )
. &quot;\n ORDER BY a.hits DESC LIMIT $count&quot;
;
$database-&gt;setQuery( $query );
$rows = $database-&gt;loadObjectList();

break;
}

// needed to reduce queries used by getItemid for Content Items
if ( ( $type == 1 ) || ( $type == 3 ) ) {
$bs = $mainframe-&gt;getBlogSectionCount();
$bc = $mainframe-&gt;getBlogCategoryCount();
$gbs = $mainframe-&gt;getGlobalBlogSectionCount();
}

// Output
?&gt;
&lt;ul class=&quot;mostread&lt;?php echo $class_sfx; ?&gt;&quot;&gt;
&lt;?php
foreach ($rows as $row) {
// get Itemid
switch ( $type ) {
case 2:
$query = &quot;SELECT id&quot;
. &quot;\n FROM #__menu&quot;
. &quot;\n WHERE type = &#039;content_typed&#039;&quot;
. &quot;\n AND componentid = $row-&gt;id&quot;
;
$database-&gt;setQuery( $query );
$Itemid = $database-&gt;loadResult();
break;

case 3:
if ( $row-&gt;sectionid ) {
$Itemid = $mainframe-&gt;getItemid( $row-&gt;id, 0, 0, $bs, $bc, $gbs );
} else {
$query = &quot;SELECT id&quot;
. &quot;\n FROM #__menu&quot;
. &quot;\n WHERE type = &#039;content_typed&#039;&quot;
. &quot;\n AND componentid = $row-&gt;id&quot;
;
$database-&gt;setQuery( $query );
$Itemid = $database-&gt;loadResult();
}
break;

case 1:
default:
$Itemid = $mainframe-&gt;getItemid( $row-&gt;id, 0, 0, $bs, $bc, $gbs );
break;
}

// Blank itemid checker for SEF
if ($Itemid == NULL) {
$Itemid = &#039;&#039;;
} else {
$Itemid = &#039;&amp;amp;Itemid=&#039;.$Itemid;
}

$link = sefRelToAbs( &#039;index.php?option=com_content&amp;amp;task=view&amp;amp;id =&#039;. $row-&gt;id . $Itemid );
?&gt;
&lt;li class=&quot;latestnews&lt;?php echo $class_sfx; ?&gt;&quot;&gt;
&lt;a href=&quot;&lt;?php echo $link; ?&gt;&quot; class=&quot;mostread&lt;?php echo $class_sfx; ?&gt;&quot;&gt;
&lt;?php echo $row-&gt;title; ?&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;?php
}
?&gt;
&lt;/ul&gt;

radmehr
04-04-2007, 08:57 AM
توی همین کدی که گذاشتی این عبارت رو پیدا کن:

OR a.publish_up &lt;= &#039;&quot;. $now .&quot;&#039; )
چند جا توی کدت هست!



برای کنترل تاریخ علامت =&gt; گذاشته اگه همون ها را به == تبدیل کنی مطالب محبوب روز را نشان می دهد
اگه به جای $now تاریخ 1 هفته پیش را بزاری یا تاریخی که اول هر هفته را نشان می دهد و علامت =&gt; را به =&lt; تبدیل کنید از اون تاریخ به این ور محوب ها را نشان می دهد و به همین ترتیب

webpen
04-04-2007, 09:57 AM
یا تاریخی که اول هر هفته را نشان می دهد
این چجوری انجام میشه؟