- Предыдущая
- 1
- 2
- Показаны 16-26 из 26
увеличение значения LIMIT не даёт эффекта
Все прекрасно работает mod_random_image/module.php, в коде настроено на 7:
<?php /******************************************************************************/ // // // InstantCMS v1.10 // // http://instantcms.ru/ // // // // written by InstantCMS Team, 2007-2012 // // produced by InstantSoft, (www.instantsoft.ru) // // // // LICENSED BY GNU/GPL v2 // // // /******************************************************************************/ function mod_random_image($module_id){ $inCore = cmsCore::getInstance(); $inDB = cmsDatabase::getInstance(); $cfg = $inCore->loadModuleConfig($module_id); $catsql = ''; if ($cfg['album_id'] != 0) { if ($cfg['subs']) { $rootcat = $inDB->get_fields('cms_photo_albums', 'id='.$cfg['album_id'], 'NSLeft, NSRight'); $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']}"; } else { $catsql = "AND f.album_id = ". $cfg['album_id']; } } $sql = "SELECT f.*, a.title album_title FROM cms_photo_files f LEFT JOIN cms_photo_albums a ON a.id = f.album_id WHERE f.published = 1 ".$catsql." ORDER BY RAND() LIMIT 7"; $result = $inDB->query($sql); $is_img = false; if ($inDB->num_rows($result)){ $is_img = true; $qty = 7; //количество случайных фоток for ($j = 0; $j < $qty; ++$j){ $items[] = $inDB->fetch_assoc($result); } } $smarty = $inCore->initSmarty('modules', 'mod_random_image.tpl'); $smarty->assign('items', $items); $smarty->assign('is_img', $is_img); $smarty->assign('cfg', $cfg); $smarty->display('mod_random_image.tpl'); return true; }
{if $is_img} {foreach from=$items item="item"} <div > <a href="/photos/photo{$item.id}.html"> <img src="/images/photos/small/{$item.file}" alt="{$item.title}" > </a> </div> { if $cfg.showtitle} <div align="center"><a href="/photos/photo{$item.id}.html">{$item.title}</a></div> {/if} {/foreach} {/if}
Файл module.php
function mod_random_image($mod, $cfg){ ........................... LIMIT 1"; // Единицу заменить на требуемое для вывода кол-во $result = $inDB->query($sql) ; $is_img = false; $items = array(); // Добавить if($inDB->num_rows($result)){ $is_img = true; while($item = $inDB->fetch_assoc($result)) $items[] = $item; // Изменить } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('items', $items)-> // Изменить assign('is_img', $is_img)-> ....................................
— После {if $is_img} вставить {foreach item=item from=$items}
— Перед последним {/if} вставить {/foreach}
Можно скачать готовое решение для 1.10.6 тут Можно вставить код собственноручно:
Это по адресу вашсайт\modules\mod_random_image\
<?php /******************************************************************************/ // // // InstantCMS v1.10.6 // // http://instantcms.ru/ // // // // written by InstantCMS Team, 2007-2015 // // produced by InstantSoft, (www.instantsoft.ru) // // // // LICENSED BY GNU/GPL v2 // // // /******************************************************************************/ function mod_random_image($mod, $cfg){ $inDB = cmsDatabase::getInstance(); $catsql = ''; if ($cfg['album_id'] != 0) { if ($cfg['subs']) { $rootcat = $inDB->get_fields('cms_photo_albums', 'id='.$cfg['album_id'], 'NSLeft, NSRight'); $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']}"; } else { $catsql = "AND f.album_id = ". $cfg['album_id']; } } $sql = "SELECT f.*, a.title album_title FROM cms_photo_files f LEFT JOIN cms_photo_albums a ON a.id = f.album_id WHERE f.published = 1 ".$catsql." ORDER BY RAND() LIMIT 3 "; //-LIMIT меняем значение на нужное нам количество фотографий-// $result = $inDB->query($sql) ; $is_img = false; if ($inDB->num_rows($result)){ $is_img = true; while($item = $inDB->fetch_assoc($result)) $items[] = $item; $item=$inDB->fetch_assoc($result); } cmsPage::initTemplate('modules', $cfg['tpl'])-> assign('items', $items)-> assign('is_img', $is_img)-> assign('cfg', $cfg)-> display($cfg['tpl']); return true; }
<table cellpadding="2" cellspacing="0" border="0" width="100%"> {if $is_img} {foreach item=item from=$items} <td align="center" valign="middle" width="{math equation="100/x" x=$cfg.maxcols}%" class="mod_random_image" style="float:left;"> <p><a href="/photos/photo{$item.id}.html"><img src="/images/photos/small/{$item.file}" border="0" /></a></p> {if $cfg.showtitle} <p><a href="/photos/photo{$item.id}.html">{$item.title}</a></p> {/if} </td> {/foreach} {/if} </table>
.mod_random_image{ padding: 2px; padding-top: 15px; margin: 2px; background-color: #FFFFFF; border: solid 1px silver; display: block; width: 140px; /*Указываем нужное нам значение*/ height: 170px; /*Указываем нужное нам значение*/ float: left; text-align: center; }
- Предыдущая
- 1
- 2
- Показаны 16-26 из 26