$('.priceSort-table__item td:nth-child(2)').each(function(){
var $me = $(this),
val = $me.html()
size = val.split('х');
$me.html(size.join(' '));
$me.addClass('l' + size[0]);
$me.addClass('w' + size[1]);
$me.addClass('h' + size[2]);
});
$('.priceSort-table__item td:nth-child(2)').each(function(){
var item = $(this),
parent = item.closest('tr'),
text = item.text(),
regex = /(\d+)(?:х|x)?/g,
match = text.match(regex),
arr = [];
while ((m = regex.exec(text)) !== null) {
arr.push(m[1]);
}
item.text(arr.join(" "));
arr.forEach(function(dig, idx){
switch(idx){
case 0:
parent.addClass('l' + dig);
break;
case 1:
parent.addClass('w' + dig);
break;
case 2:
parent.addClass('h' + dig);
break;
}
});
});
пробывал mb_strlen, не помогло
<?php
if(mb_strlen($product['description']) > 120) {
echo mb_substr($product['description'], 0, 120) . '..';
} else {
echo $product['description']; }
?>
var elem = $('.js-calc')
var data = {
price: elem.data('price'),
info: elem.data('info'),
show: elem.data('show')
}
$.post( "test.php", data)
.done(function( data ) {
alert( "Data Loaded: " + data );
});
... ищем строку
<a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>
дальше пишем кусок с перебором товаров примерно так, не забудьте про стили и необходимые проверки
<?php if (isset($child['products'])) { ?>
<ul>
<?php foreach ($child['products'] as $product) { ?>
<li><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></li>
<?php } ?>
</ul>
<?php } ?>
+ еще надо поправить определение текущей категории по товару
и вытаскивание товаров для активной категории
catalog/controller/module/category.php
там, где наполняются категории
$children_data[] = ...;
нужно добавить кусок из catalog/controller/product/category.php
переписать вот это примерно так, но поисправлять все!
$data = array(
'filter_category_id' => $child['category_id'],
'filter_filter' => $filter,
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $limit,
'limit' => $limit
);
$results = $this->model_catalog_product->getProducts($data);
и засунуть эти результаты туда, к $children_data
вроде следующего
$children_data[] = array(
'category_id' => $child['category_id'],
'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ,
'products' => $results
);
если много товаров, эта хрень может тормозить
function getDate() {
var months = [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ];
var date = new Date(); // Получаем сегодняшнюю дату
date.setDate(date.getDate() + 2); // Прибавляем два дня
return date.getDate() + ' ' + months[date.getMonth()];
}
function setGiftDate() {
Array.prototype.forEach.call(document.querySelectorAll('.data'), function(elem) {
elem.innerHTML = giftDate;
});
}
setGiftDate(getDate());
<p>До <span class="data"></span> получите подарок.</p>
<p>Получите подарок до <span class="data"></span>.</p>
var today = new Date();
var then = new Date(today.getTime() + 2*60*60*24*1000);
document.getElementById('data').innerText = then.getDate();
var serverTimestamp = <?php echo time();?> // или какой там у вас серверный язык
var serverDate = new Date(serverTimestamp)
var day = serverDate.getDay()
document.getElementById('data').innerHTML = day + 2;