@viktorulyushev

PHP.Как вывести 3 блока td вместе 2?

Вот тут каким то образом выводятся 2 блока td в tr,я не пойму как нужно переделать чтобы выводилось 3?
В tbody формируются и выводятся очень много tr,а вот внутри tr выводятся только по 2 максимум td,мне нужно там выводить максимум 3
<table class="tiles-table cs-br-1">
    <tbody>
        @for (int i = 0; i < Model.Products.Count; i++)
        {
            var product = Model.Products[i];
            if (i % 2 == 0)
            {
                @:<tr>
                    }
                    <td class="prod-cell cs-br-1">
                        <a class="cs-l-1 inked ink-dark catalog-product-item" href="@(Url.RouteUrl("Product", new {url = product.UrlPath}))">
                            <div class="prod-photo">
                                <img src="@product.Photo.ImageSrcSmall()" alt="@product.Photo.Alt" title="@product.Photo.Title" />
                                @if (product.Gifts)
                                {
                                    <div class="prod-gift-icon"></div>
                                }
                            </div>
                            <div class="prod-text prod-text-custom">
                                <div class="prod-name">@Html.Raw(product.Name)</div>
                                <div class="price cs-l-8">@Html.Raw(product.PreparedPrice)</div>
                                @if (product.Recomend || product.Sales || product.Bestseller || product.New || product.TotalDiscount != 0)
                                {
                                    <div class="products-view-labels">
                                        @Html.RenderLabels(product.Recomend, product.Sales, product.Bestseller, product.New, product.TotalDiscount)
                                    </div>
                                }
                            </div>
                            <span class="panel-arrow ar-r icon-right-open-after cs-t-2"></span>
                        </a>
                    </td>
                    if (i == Model.Products.Count - 1 && Model.Products.Count % 2 != 0)
                    {
                    <td></td>
                    }
                    if (i != 0 && i % 2 != 0)
                    {
                    @:</tr>
            }
        }
    </tbody>
 </table>
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@Pentblch
Смотрю в сторону Web, начинающий
if (i % 2 == 0)
{
    @:<tr>
}

и
if (i != 0 && i % 2 != 0)
{
    @:</tr>
}


эти условия вам не дают вывести больше двух записей
tr открывается когда i % 2 = 0, т.е. каждую четную запись
tr закрывается когда: i !=0 и i % 2 != 0, т.е. каждую нечетную запись кроме 0-й

меняйте логику вывода, сделайте просто счетчик, который считает до 3 и закрывает tr
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы