Posted 4 марта, 20231 yr comment_190662 Пытаюсь использовать данный код (шаблон блока Лента тем) {{if !empty( $topics ) }} {{if \count($topics)}} {{foreach $topics as $id => $topic}} {{if $id == 0}} <ul class='ipsGrid ipsGrid_collapsePhone'> {template="row" group="global" app="forums" location="front" params="NULL, NULL, $topic, FALSE"} </ul> {{else}} {{if $id % 2}} <ul class='ipsGrid ipsGrid_collapsePhone'> {{endif}} {template="row" group="global" app="forums" location="front" params="NULL, NULL, $topic, FALSE"} {{if $id % 2 == 0 or ( \count( $topics ) == ( $id + 1) )}} </ul> {{endif}} {{endif}} {{endforeach}} {{endif}} {{endif}} в котором подключается шаблон row {{$idField = $topic::$databaseColumnId;}} {{$iPosted = isset( $table->contentPostedIn ) ? $table->contentPostedIn : ( ( $table AND method_exists( $table, 'container' ) AND $topic->container() !== NULL ) ? $topic->container()->contentPostedIn() : array() );}} <div class='{{if $id}}ipsGrid_span3{{else}}ipsGrid_span6{{endif}} ipsBox'> {{$post = $topic->topic_firstpost ? \IPS\forums\Topic\Post::load($topic->topic_firstpost)->post : NULL;}} {{if $post AND \preg_match( '#<fileStore.core_Attachment>\S+(?:jpg|jpeg|png|webp)#', $post, $image_url )}} <div> {{$image_url = \str_replace('<fileStore.core_Attachment>', \IPS\File::getClass('core_Attachment')->baseUrl(), $image_url[0]);}} {{if settings.lazy_load_enabled}} <a href="{$topic->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$topic->_title"}" > <img class='ipsImage' src='{expression="\IPS\Text\Parser::blankImage()"}' alt='{wordbreak="$topic->_title"}' data-src='{file="$image_url" extension="core_Attachment"}'></a> {{else}} <a href="{$topic->url( "getPrefComment" )}" title="{lang="read_more_about" sprintf="$topic->_title"}" > <img class='ipsImage' alt='{wordbreak="$topic->_title"}' src='{file="$image_url" extension="core_Attachment"}'></a> {{endif}} </div> {{endif}} <div> <h4 class='ipsDataItem_title ipsContained_container'> <span class='ipsType_break ipsContained'><a href='{$topic->url( "getPrefComment" )}' {{if $topic->canView()}}data-ipsHover data-ipsHover-target='{$topic->url()->setQueryString('preview', 1)}' data-ipsHover-timeout='1.5' {{endif}}>{$topic->mapped('title')}</a></span> </h4> <p class='ipsType_reset ipsType_medium ipsType_light'> <span><i class='fa fa-clock-o'></i> {datetime="$topic->mapped('date')" lowercase="true"}</span> </p> {{foreach $topic->stats(FALSE) as $k => $v}} <span {{if $k == 'num_views'}}class=''{{elseif \in_array( $k, $topic->hotStats )}}class="ipsDataItem_stats_hot" data-text='{lang="hot_item"}' data-ipsTooltip title='{lang="hot_item_desc"}'{{endif}}> <span class='ipsDataItem_stats_type'>{lang="{$k}" pluralize="$v" format="short"}</span> <span class='ipsDataItem_stats_number'>{number="$v" format="short"}</span> {{if ( $k == 'forums_comments' OR $k == 'answers_no_number' ) && \IPS\forums\Topic::modPermission( 'unhide', NULL, $topic->container() ) AND $unapprovedComments = $topic->mapped('unapproved_comments')}} <a href='{$topic->url()->setQueryString( 'queued_posts', 1 )}' class='ipsType_warning ipsType_small ipsPos_right ipsResponsive_noFloat' data-ipsTooltip title='{lang="queued_posts_badge" pluralize="$topic->topic_queuedposts"}'><i class='fa fa-warning'></i> <strong>{$unapprovedComments}</strong></a> {{endif}} </span> {{endforeach}} </div> </div> который должен выводить сначала два топика потом четыре (по аналогу Category 2 Column First Featured в Страницах). Понимаю что нужно каким-то образом "подцепить" id топиков, но не могу понять как именно.Кто-нибудь подскажет решение? Edited 4 марта, 20231 yr by AHristich Link to comment https://ipbmafia.ru/topic/25323-id-topikov/ Share on other sites Больше вариантов
4 марта, 20231 yr comment_190664 $topic->$idField Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190664 Share on other sites Больше вариантов
5 марта, 20231 yr Author comment_190686 Exception спасибо,конечно,за подсказку.Только не могу понять/разобраться что и где заменить,где именно использовать. Edited 5 марта, 20231 yr by AHristich Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190686 Share on other sites Больше вариантов
5 марта, 20231 yr Author comment_190687 Exception понял что куда,но это не совсем то что надо. Я так понимаю что в первом коде $id означает не id топика в таблице бд,а ,скажем так,порядковый номер .То есть,сначала выводится по порядку два топика (ipsGrid_span6) а потом остальные в колонку по четыре (ipsGrid_span3). Типа такого Спойлер Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190687 Share on other sites Больше вариантов
5 марта, 20231 yr comment_190694 В первом примере $id - индекс массива, всё правильно, а для получения id можно использовать $topic->tid Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190694 Share on other sites Больше вариантов
5 марта, 20231 yr Author comment_190695 Desti во втором коде $id и подцепляется из массива первого кода.Проблема всего лишь одна- я ноль в рнр и т.п,как говорится лаю на такое Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190695 Share on other sites Больше вариантов
5 марта, 20231 yr comment_190698 58 минут назад, AHristich сказал: Desti во втором коде $id и подцепляется из массива первого кода.Проблема всего лишь одна- я ноль в рнр и т.п,как говорится лаю на такое я не понимаю что ты хочешь Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190698 Share on other sites Больше вариантов
5 марта, 20231 yr Author comment_190699 Exception в Страницах есть шаблон Category 2 Column First Featured ,в котором есть массив Спойлер {{if \count($articles)}} {{foreach $articles as $id => $record}} {{if $id == 0}} <ul class='ipsGrid ipsGrid_collapsePhone'> {template="entry" app="cms" location="database" group="category_2_column_first_featured" params="$record, $database, 0"} </ul> {{else}} {{if $id % 2}} <ul class='ipsGrid ipsGrid_collapsePhone cmsCategory2col'> {{endif}} {template="entry" app="cms" location="database" group="category_2_column_first_featured" params="$record, $database, $id"} {{if $id % 2 == 0 or ( \count( $articles ) == ( $id + 1) )}} </ul> {{endif}} {{endif}} {{endforeach}} {{endif}} entry обернут в <li class='{{if $id}}ipsGrid_span6{{else}}ipsGrid_span12{{endif}}'> ... </li> и на сайте выглядет так Вот я и пытаюсь использовать подобный массив для шаблона forums/front/global/row Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190699 Share on other sites Больше вариантов
5 марта, 20231 yr comment_190700 9 минут назад, AHristich сказал: Вот я и пытаюсь использовать подобный массив для шаблона forums/front/global/row так создай свой шаблон и передавай туда нужные переменные, в том числе $id Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190700 Share on other sites Больше вариантов
5 марта, 20231 yr comment_190712 6 часов назад, AHristich сказал: во втором коде $id и подцепляется из массива первого кода. В "row" (во второй код) передается $topic, а не $id. $topic - это объект, у него есть поле tid. Ты его можешь получить напрямую, обращаясь к $topic->tid или накривую, обращаясь к статическому полю класса, в котором назначено поле базы для индекса ($topic::$databaseColumnId), как это сделано в "row". Но пока ты не научишься задавать правильные вопросы, ты будешь получать правильные ответы, которые, однако, не отвечают на твои вопросы. Link to comment https://ipbmafia.ru/topic/25323-id-topikov/?&do=findComment&comment=190712 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.