Minishop2 не любит таблицы?
Здравствуйте.
Натягиваю верстку на MODX. Есть таблица Wishlist — таблица это конечно плохо, но мне какая разница, если сказали сделать так как в верстке.
Сделал все по аналогии с предыдущими проектами, но только с таблицей, примерно так:
, , — заработало почему-то… но мне то сказали таблица нужна… как это понимать?
Натягиваю верстку на MODX. Есть таблица Wishlist — таблица это конечно плохо, но мне какая разница, если сказали сделать так как в верстке.
Сделал все по аналогии с предыдущими проектами, но только с таблицей, примерно так:
<!doctype html>
<html lang="ru">
<head>
[[$head]]
</head>
<body>
[[$header]]
[[$crumbs]]
<div class="cart-main-area pt-70 pb-75">
<div class="container">
<h1 class="page-title">Список желаемого</h1>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-12">
<div class="table-content table-responsive wishlist">
<table>
<thead>
<tr>
<th></th>
<th>Наименование</th>
<th>Цена</th>
<th>Кол-во</th>
<th>Сумма</th>
<th>В корзину</th>
</tr>
</thead>
<tbody>
[[!pdoPage:default=`<tr><strong>Ваш список избранного пока пуст</strong></tr>`?
&parents=`0`
&element=`msProducts`
&resources=`[[!msFavorites.ids]]`
&tpl=`msProductTable`
&ajax=`1`
]]
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
[[$footer]]
[[$modals]]
</body>
</html>
… и не работает кнопка «Добавить в корзину» в чанке msProductTable… день тупил, потом убрал теги Комментарии: 18
в чанке товара обязательно должны быть следующие теги
<form method="post" class="ms2_form">
<input type="hidden" name="id" value="[[+id]]">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
<butto type="submit" name="ms2_action" value="cart/add">
В корзину
</button>
</form>
Остальное никак не влияет на работоспособность минишопа
да, но ведь не работает, почему-то
<tr>
<form method="post" class="ms2_form">
<td class="product-thumbnail">
{if $thumb?}
<img src="{$thumb}" alt="{$pagetitle}" />
{else}
<img src="{'assets_url' | option}images/product-empty.png" alt="Нет фото" />
{/if}
</td>
<td class="product-name">
<a href="{$id | url}">{$pagetitle}</a>
<div class="small">
{if $product.options?}
{foreach $product.options as $key => $option}
{* exclude the option key *}
{if $key in ['modification','modifications','msal']}{continue}{/if}
{set $caption = ('ms2_product_' ~ $key)|lexicon}
{if $option is array}
{$caption} - {$option | join : '; '}
{else}
{$caption} - {$option}
{/if}
{/foreach}
{/if}
<div>
{$_modx->runSnippet('msAddLinked.info', ['option' => $product.options.msal])}
</div>
</div>
</td>
<td class="product-price-cart">
<p class="product-price">
<span class="price">
<span class="msoptionsprice-cost msoptionsprice-[[+id]]" id="price">
[[+price]]
</span>
[[%ms2_frontend_currency]]
</span>
[[+old_price
:ne=`0`
:then=`<span class="old-price strike gray weight100 f16">
<span class="msoptionsprice-old-cost msoptionsprice-[[+id]]">
[[+old_price]]
</span>
[[%ms2_frontend_currency]]
</span>`]]
</p>
</td>
<td class="product-quantity">
<input type="number" name="count" id="count-{$id}" class="form-control input-number" value="1" min="1" max="100">
</td>
<td class="product-subtotal total_price">
<span>{$product.cost}</span> {'ms2_frontend_currency' | lexicon}
</td>
<td class="product-wishlist-cart">
<button class="order-iteme" type="submit" name="ms2_action" value="cart/add">В корзину</button>
</td>
</form>
</tr>
<input type="hidden" name="id" value="[[+id]]">
для фенома
<input type="hidden" name="id" value="{$id}">
Где в вашем коде инпут name=id?
не поверите, вот только что вставил по вашему совету в начало формы:
<input type="hidden" name="id" value="{$id}">
но, не заработало пока (
мини корзина вызвана?
jquery подключен?
какие ошибки в консоле?
jquery подключен?
какие ошибки в консоле?
в консоли ошибок нет, если я меняю чанк на тот что без таблицы (я его за пример брал) и удаляю теги таблицы из шаблона, то все работает
может правда туплю и где-то тег не закрытый оставил… но ведь второй день уже смотрю на это чудо ((
у минишопа проблем с таблицами никогда не замечал, ищите что не так в вашем чанке, удаляйте построчно код
может это проблема pdoPage? потому что я заметил, что эта строка
… а в самом чанке со строчкой таблицы уже все перепробовал удалять и менять
default=`<tr><strong>Ваш список избранного пока пуст</strong></tr>`?
вылазиет выше таблицы, когда нет товаров, но, опять же так ничего и не понял (… а в самом чанке со строчкой таблицы уже все перепробовал удалять и менять
потому что я заметил, что эта строка вылазиет выше таблицыну так потому что нельзя мешать form и теги таблицы — это запрещено, поэтому браузер выкидывает неуместный tr за пределы таблицы
stackoverflow.com/a/5967613
А js вам совсем чужд? Сделайте форму отдельно от таблицы и по клику передавайте в неё нужные данные и отправляйте. Или просто отправляйте нужные данные по клику без формы, обязательно нужно передавать ключ ms2_action=cart/add, id и count, по необходимости можно массив опций передать.
да я могу конечно и вообще без таблицы все это дело сверстать… Просто в этом-то и был мой вопрос: minishop не дружит с таблицами? pdopage не дружит с таблицами? или я просто затупил и не вижу своей очевидной ошибки?
… оказывается нельзя мешать form и теги таблицы — хотя опять ни хрена не понял почему, везде можно а в modx нельзя )))
… оказывается нельзя мешать form и теги таблицы — хотя опять ни хрена не понял почему, везде можно а в modx нельзя )))
прогоните свою верстку через валидатор
Боюсь, что мешать теги нигде нельзя, если конечно вы хотите сделать хороший сайт.
хотя опять ни хрена не понял почему, везде можно а в modx нельзя )))давно у нас к modx применяются какие-то особенные стандарты?
для начала, наверное, стоит поближе познакомиться с версткой и стандартами, а потом уже винить modx и pdoPage
ну так я же и спросил «от чистого сердца» что я мог сделать не так, и всю вёрстку выложил… а вы все ругаетесь, что я MODX не люблю — люблю я MODX, просто помощи просил
ну так я еще вчера описал проблему и подкрепил ссылкой для ознакомления, этого мало?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.