PDA

Zobacz pełną wersję : moduł "ostatnio dodane" do coppermine photo gallery



deflection
07-06-2006, 16:25
Mam moduł ostatnio dodane zdjecia do coppermine, odczytuje on ostatnie pliki...

potrzebny mi jest podobny modul ktory bedzie wyswietlal najwyzej oceniane i inny ktory bedzie wyswietlal najpopularniejsze...

wkleje ponizej kod i jakby ktos mi moglby powiedziec co poprzestawiac, ktore elementy sie odwoluja do tego aby wlasnie ostatnie zdjecia byly w tym module wyswietlane to moze uda mi sie wykombinowac jak przerobic to na wlasne potrzeby.... od razu mowie php nie znam, ale szybko sie ucze...

jakby ktos mogl pozaznaczac albo dac przyklad jak przerobic i opisac konkretne lelementy do czego sie odwoluja bede wdzieczny

a to kod:



<?php

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_offset, $mosConfig_live_site, $mainframe, $mosConfig_lang,$mosConfig_absolute_path;

$file_path = $params->get( 'file_path' );
$url_path = $params->get( 'url_path' );
$count = intval( $params->get( 'count', 5 ) );
$thumb_pfx = $params->get( 'thumb_pfx', "thumb_");
$show_author = $params->get('author', 0);
$moduleclass_sfx = $params->get( 'moduleclass_sfx','latestcpg' );
require_once($file_path . '/include/config.inc.php');

$pic_table = $CONFIG['dbname'] . '.' . $CONFIG['TABLE_PREFIX'] . 'pictures';
$result = mysql_query("SELECT * FROM $pic_table WHERE approved = 'YES' ORDER BY pid DESC limit $count");
if (!$result) {
print mysql_error();
} else {
$rowset = array();
while ($row = mysql_fetch_array($result)) $rowset[] = $row;
mysql_free_result($result);

if (count($rowset)) {
print '<table width="100%" class="' . $moduleclass_sfx . '"><tr>';
foreach ($rowset as $key => $row){
$pic_url = $url_path . '/albums/' . $row['filepath']
. $thumb_pfx . $row['filename'];
$link_url = $url_path . '/displayimage.php?pos=-' . $row['pid'];

print '<td align="center"><center><a href="' . $link_url . '"><img border="0" src="'. $pic_url
. '" alt="' . $row['title'] . '"></a><br>' . "\n";
print '<a href="' . $link_url . '">' . $row['title'] . '</a><br>' . "\n";
if ($show_author) {
print $row['owner_name'] . "\n";
}
print '</center></td>';
}
print '</tr></table>';
}
}

?>

deflection
07-06-2006, 18:55
juz sobie poradzilem sam metoda prob i bledów

podam rozwiazanie dla zainteresowanych...

wpis:


approved = 'YES'
odpowiada skad ma byc brane dane zdjecie...

zmieniajac to na:

pic_raiting otrzymamy najwyzej oceniane
hits - popularne

natomiast sortowanie wedlug najwyzej oceniodego oznaczac bedzie kod:



ORDER BY pic_rating DESC

Opcje DESC mozna zastapic ASC co bedzie przecinym sortowaniem
ORDER BY oznacza wedlug czego ma byc sortowany ja wybralem wedlug ocen i najwyzszej oceny w tym przykladzie

oto caly kod ktory bedzie sortowal zdjecie wedlug najwyzej ocenianych:


<?php

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_offset, $mosConfig_live_site, $mainframe, $mosConfig_lang,$mosConfig_absolute_path;

$file_path = $params->get( 'file_path' );
$url_path = $params->get( 'url_path' );
$count = intval( $params->get( 'count', 5 ) );
$thumb_pfx = $params->get( 'thumb_pfx', "thumb_");
$show_author = $params->get('author', 0);
$moduleclass_sfx = $params->get( 'moduleclass_sfx','latestcpg' );
require_once($file_path . '/include/config.inc.php');

$pic_table = $CONFIG['dbname'] . '.' . $CONFIG['TABLE_PREFIX'] . 'pictures';
$result = mysql_query("SELECT * FROM $pic_table WHERE pic_rating ORDER BY pic_rating DESC limit $count");
if (!$result) {
print mysql_error();
} else {
$rowset = array();
while ($row = mysql_fetch_array($result)) $rowset[] = $row;
mysql_free_result($result);

if (count($rowset)) {
print '<table width="100%" class="' . $moduleclass_sfx . '"><tr>';
foreach ($rowset as $key => $row){
$pic_url = $url_path . '/albums/' . $row['filepath']
. $thumb_pfx . $row['filename'];
$link_url = $url_path . '/displayimage.php?pos=-' . $row['pid'];

print '<td align="center"><center><a href="' . $link_url . '"><img border="0" src="'. $pic_url
. '" alt="' . $row['title'] . '"></a><br>' . "\n";
print '<a href="' . $link_url . '">' . $row['title'] . '</a><br>' . "\n";
if ($show_author) {
print $row['owner_name'] . "\n";
}
print '</center></td>';
}
print '</tr></table>';
}
}

?>


powyższy kod bedzie bral kazde zdjecie natomiast zostawiajac:

approved = 'YES'

bedzie bral zatwierdzone :)

mam nadzieje ze dosc jasno wytlumaczylem problem :]


itd...
te wpisy mozna znalezc w bazie danych galerii w dziale prefix_pictures

milego uzytkowania:D

sorki ze 2 razy post za postem ale chcialem w jednym umiescic problem a w drugim odpowiedz na niego :]

koton
10-07-2006, 12:35
Stworzyłem temat - http://forum.joomla.pl/forum/showthread.php?t=3127
ale widzę, że tu też coś piszą o galerii Coppermine Photo Gallery (http://coppermine.sourceforge.net/) :)
Jak zrbić żeby w Joomla w bocznym menu pokazywało się jedno losowe zdjęcie. Ważne żeby było one odnośnikiem, który otwiera galerię w nowym oknie.