Случайный вывод

#
Случайный вывод
Добрый вечер!
Простите, а можно как-то выводить на главную страницу случайный элемент какой-либо группы - случайную новость, случайную фотографию итд..
Не могли бы вы подсказать как это сделать на примере фотогалереи из демо-версии.
Спасибо!
Модератор
#
Re: Случайный вывод
Иванов Вячеслав Юрьевич,
это очень просто, привожу пример для фотогалереи:

создаем шаблон "СписокКартинокСлучайно", являющийся значительным упрощением шаблона вывода списка картинок:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" encoding="Windows-1251"/>

<xsl:template match="/">
    <xsl:apply-templates/>
</xsl:template>

<xsl:template match="/document">

<xsl:text disable-output-escaping="yes">
<![CDATA[
<SCRIPT LANGUAGE="JavaScript">
function ShowImgWindow(title, src, width, height)
{
   obj = window.open("", "", "scrollbars=0,dialog=0,minimizable=1,modal=1,width="+width+",height="+height+",resizable=0" ) ;
   obj.document.write("<html>" ) ;
   obj.document.write("<head>" ) ;

   obj.document.write("<title>"+title+"</title>" ) ;

   obj.document.write("</head>" ) ;

   obj.document.write("<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>" ) ;

   obj.document.write("<img src=\""+src+"\" />" ) ;

   obj.document.write("</body>" ) ;
   obj.document.write("</html>" ) ;
}
</SCRIPT>
]]>
</xsl:text>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="blocks/parent_group_id"/>

<h1><xsl:value-of disable-output-escaping="yes" select="blocks/name"/></h1>

<!-- Отображение записи информационного блока -->
<table border="0" cellspacing="0" cellpadding="2" class="news_table">
<tr>
      <xsl:apply-templates select="blocks/items/item[item_status=1]">
      </xsl:apply-templates>
</tr>
</table>

</xsl:template>

<xsl:template match="blocks/items/item">

<td>
<center>
<xsl:if test="item_small_image!=''">

<!-- Проверяем задан ли путь к файлу большого изображения -->
<xsl:if test="item_image!=''">
   <xsl:variable name="srcpath" select="item_image" />
   <a href="JavaScript:void(0)" onclick="ShowImgWindow('{item_name}','/{$srcpath}', {item_image/@width}, {item_image/@height})"><img src="/{item_small_image}" style="padding-right:10px; padding-bottom:10px;"/></a>
</xsl:if>

<xsl:if test="item_image =''">
   <img src="/{item_small_image}" style="padding-right: 10px; padding-bottom: 10px"/>
</xsl:if>

</xsl:if>
<br/>
<xsl:value-of disable-output-escaping="yes" select="item_datetime"/>
<br/>
<a href="{item_path}"><b><xsl:value-of disable-output-escaping="yes" select="item_name"/></b></a>
<br/>
<xsl:value-of disable-output-escaping="yes" select="item_description"/>
</center>
</td>
<xsl:if test="position() mod 5 = 0">
<tr/>
</xsl:if>
</xsl:template>

</xsl:stylesheet>


Добавляем вывод случайных картинок:

<?
$InformationSystem = new InformationSystem();

$external_propertys=array();
$property = array();
$property['OrderField'] = "RAND()";

$information_system_id = 1; // УКАЖИТЕ ВАШ ИДЕНТИФИКАТОР

$InformationSystem->ShowInformationSystem($information_system_id,false,'СписокКартинокСлучайно',5,0,$external_propertys,$property);  
?>
#
Re: Случайный вывод
большое спасибо!
Модератор
#
Re: Случайный вывод
Иванов Вячеслав Юрьевич,
пожалуйста
#
Re: Случайный вывод
Если честно то для статьи у меня что то неполучается, а точнее для новостей и прочей ...
Модератор
#
Re: Случайный вывод
Вайсов Родион Юрьевич,
покажите здесь код динамический страниц и шаблона, укажите что именно не получается.

Вы также можете написать сообщение в службу поддержки с указанием данных доступа.
#
Re: Случайный вывод
Что то поиск у Вас не работает... пытался найти следующее:
четный и не четный вывод элементов из инфо системы.
Такое помню где то уже описывали, но в поиске говорит что такого нет...
Помогите пжл...
#
Re: Случайный вывод
Вот что нашел на форуме:

можно еще сделать одним шаблоном, играясь с position()

т.е. делаете селект, который нужно и указываете дополнительное условие:
and position() mod 2 = 0


и для другого соответственно
and position() mod 2 = 1


Таким образом разделим на четные и нечетные.


Только как воспользоваться не понял...
#
Re: Случайный вывод
Добавьте соответствующие проверки в XSL-шаблон. Например:
<xsl:if test="position() mod 2 = 0">
<!-- требуемое отображение -->
</xsl:if>
#
Re: Случайный вывод
Опишу что требуется. так как вижу что не правильно пояснил чего хочу:

Есть "Инфо система" в ней элементы,
на страницу требуется вывести элементы одной инфо системы в 2 колонки, в первой четные во второй нечетные, как это сделать?
Авторизация