Алексей

Алексей

С нами с 19 ноября 2014; Место в рейтинге пользователей: #243
Алексей
03 декабря 2020, 15:43
0
У всех. Причем, при добавлении в корзину цена считается правильно!
Алексей
03 декабря 2020, 15:24
0
Да, нет все стандартно.

Во всех остальных случаях все же нормально, сам не пойму.
Алексей
03 декабря 2020, 15:13
0
Вот вывод страницы товара:
{extends 'file:templates/base.tpl'}
{block 'main'}
<div class="uk-container uk-container-xlarge">
	<div id="content" class="product">
		{include 'msProduct.content'}
		{$_modx->resource | print_r}
	</div>
	{$modx->resource->content}
</div>
{/block}
Вот что выводится:
Array
(
    [id] => 15
    [type] => document
    [contentType] => text/html
    [pagetitle] => Ярки 3-6 мес. вес 15-25 кг., класс ЭЛИТА
    [longtitle] => Ярки 3-6 мес. вес 15-25 кг., класс ЭЛИТА
    [description] => Фермерское хозяйство ООО «Стандарт», овцы романовской породы племенные чистопородные во Владимире и Владимирской области. Ярки 3-6 мес. вес 15-25 кг., класс ЭЛИТА.
    [alias] => yarki-3-6-mes-ves-15-25-kg-klass-elita
    [alias_visible] => 1
    [link_attributes] => 
    [published] => 1
    [pub_date] => 0
    [unpub_date] => 0
    [parent] => 9
    [isfolder] => 
    [introtext] => 
    [content] => 
    [richtext] => 1
    [template] => 7
    [menuindex] => 0
    [searchable] => 1
    [cacheable] => 1
    [createdby] => 1
    [createdon] => 2020-12-02 15:19:47
    [editedby] => 1
    [editedon] => 2020-12-03 13:45:05
    [deleted] => 
    [deletedon] => 0
    [deletedby] => 0
    [publishedon] => 2020-12-02 15:19:00
    [publishedby] => 1
    [menutitle] => 
    [donthit] => 
    [privateweb] => 
    [privatemgr] => 
    [content_dispo] => 0
    [hidemenu] => 
    [class_key] => msProduct
    [context_key] => web
    [content_type] => 1
    [uri] => yarki-3-6-mes-ves-15-25-kg-klass-elita.html
    [uri_override] => 0
    [hide_children_in_tree] => 0
    [show_in_tree] => 0
    [properties] => Array
        (
            [autoredirector] => Array
                (
                    [old_uri] => yarki-3-6-mes-ves-15-25-kg-klass-elita.html
                )

        )

    [article] => Ярки 3-6 мес.
    [price] => 1
    [old_price] => 8100
    [weight] => 15
    [image] => /assets/images/products/15/barany3.jpg
    [thumb] => /assets/images/products/15/small/barany3.jpg
    [vendor] => 0
    [made_in] => 
    [new] => 
    [popular] => 
    [favorite] => 
    [tags] => 
    [color] => 
    [size] => 
    [source] => 2
    [video] => 
    [gallery] => 
    [vendor.id] => 
    [vendor.name] => 
    [vendor.resource] => 0
    [vendor.country] => 
    [vendor.logo] => 
    [vendor.address] => 
    [vendor.phone] => 
    [vendor.fax] => 
    [vendor.email] => 
    [vendor.description] => 
    [vendor.properties] => 
)
1
Цена 1.
Алексей
14 ноября 2020, 12:29
0
Товары вывожу вот этим:
<?php
$tag = $_GET['tag'];

$key = 'tags'; // имя опции товара
$category = 0; // фильтрация по категории

$q = $modx->newQuery('msProductOption');
$q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
$q->where(array('msProductOption.key' => $key, 'msProductOption.value'=> $tag));
$q->sortby('msProductOption.value','ASC');
$q->select('DISTINCT(msProductOption.value), msProduct.id');
$q->where(array('msProductOption.key' => $key));
if (!empty($category)) {
    $ids = $modx->getChildIds($category);
    $ids[] = $category;
    $q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
    $q->where(array('msCategory.id:IN' => $ids));
}

$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
    	$res['id'][] = $row['id'];
	}
	$result = implode(",", array_unique($res['id'])) ;
}

$params = array(
    'element' => 'msProducts',
    'includeThumbs' => '740x',
    'parents' => 8,
    'limit' => 9,
    'tpl'=> 'msProduct',
    'ajaxMode' => 'default',
    'tplPageWrapper' => '@INLINE <ul class="pagination uk-pagination">{{+prev}}{{+pages}}{{+next}}</ul>',
    'tplPageActive' => '@INLINE <li class="uk-active"><span>{{+pageNo}}</span></li>',
    'resources' => $result
    );

$output = $modx->runSnippet('pdoPage', $params);
return $output;
Алексей
14 ноября 2020, 12:26
0
Да я бы с удовольствием, только не разберусь :) Я уже это все просматривал. Теги вывел, товары по клику на тег вывел, а вот как сгруппировать теги по категории не знаю. mSearch2 покупать из-за этого, не вариант.
Алексей
14 ноября 2020, 12:13
0
Добрый день!
Стандартные теги товара. Вывод, вот этим сниппетом:
<?php
$tpl = 'tpl.Tag'; //чанк одного тега
$tags = array(); // массив тегов
$params = array();// массив параметров
$per = 100; // начальный  % шрифта
$output=''; //вывод
$c = $modx->newQuery('msProductOption');
$c->where(array('key' => 'tags')); //берём значения тегов
$c->sortby('value','ASC');
$options = $modx->getCollection('msProductOption',$c);
foreach($options as $option){
    $tags[] = $option->get('value');
}
$tags = array_count_values($tags); //подсчитываем сколько одинаковых

//выводим в чанк
foreach($tags as $tag => $count){
    $params['tag'] = $tag;
    $params['href'] = '?tag=' . $tag;
    $params['fontsize'] = $per*$count;
    $output .= $modx->getChunk($tpl,$params);    
}

return $output;
Алексей
18 марта 2020, 14:52
0
Алексей, извини, сайт уже рабочий. Попробовал отключить CKEditor, все заработало. У меня там блоками MIGX сделано, возможно из-за этого. Сейчас буду еще на одном сайте ставить. Там посмотрю и отпишусь.
Алексей
18 марта 2020, 13:53
0
А нет, сейчас стал проверять, по умолчанию со станице родителя ничего не берется. https не при чем. И еще заметил, если стоит CKEditor, то в виртуальной странице поле content не сохраняется. Вводишь текст, сохраняешь, открываешь по новой, а там пусто!
Алексей
18 марта 2020, 13:24
0
Алексей, добрый день!
Поставил дополнение, все работает как часы, спасибо! Но, при переходе на https, возникла проблема. На виртуальной странице не выводится контент (именно content) со страницы родителя. То-есть pagetitle, url, description, все меняется как надо и если ввести content в самой виртуальной странице, все ок, а вот если поле content не заполнено в виртуальной странице, а заполнено у родителя, то пусто. Причем проблема пришла после перехода на htts. Не пойму в чем дело?
Алексей
30 июля 2019, 12:40
0
Если делать 2 уровня меню, то так:
Вот эти пункты:
'tplInner' => '@INLINE <div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent"><div class="d-flex"><div class="col-4 b-menu-dropdown__wrapper"><div class="b-menu-dropdown__inner d-flex flex-column">{$wrapper}</div></div></div></div>',
            'tplInnerRow' => '@INLINE <a class="b-menu-dropdown__item mb-1" href="{$link}">{$menutitle}</a>'
Если перенести таким образом, то все подпункты будут внутри контейнера.

И еще, добавить вот это: 'hereClass' => 'active',
И вот сюда вывод: 'tplParentRow' => '@INLINE <li class=«nav-item b-menu-catalog__item py-1» {$classes}>…
Алексей
30 июля 2019, 12:31
0
Павел, еще не совсем понял, почему у вас одинаковые пункты в подразделах? Например, (собаки) и одни и те же пункты (покормить, корма сухие и т.д.)
Алексей
30 июля 2019, 11:56
+1
Если я правильно понял ( «он не теряет классы»), ЧТО ЭТО?, вам надо вывести только категории, добавьте вот это 'where' => '{«isfolder»:1}',
Алексей
30 июля 2019, 11:00
0
Добрый день, Павел.
Вот два вывода меню:
1.
{'pdoMenu' | snippet : [
    'startId' => 9,
    'level' => 2,
    'where' => '{"isfolder":1}',
    'includeTVs' => 'imagecategory'
    'prepareTVs' => 1,
    'hereClass' => 'uk-active',
    'tplOuter' => '@INLINE <ul class="uk-nav1" uk-nav>{$wrapper}</ul>'
    'tpl' => '@INLINE <li {$classes}><a href="{$link}" title="{$menutitle}" class="cat">{$menutitle}</a>{$wrapper}</li>'
	'tplInner' => '@INLINE <div class="uk-width-xlarge" uk-drop="pos: right-center;"><div class="uk-card uk-card-small uk-card-body uk-card-default"><div class="uk-drop-grid uk-grid-small uk-text-center uk-child-width-1-3@m uk-nav-sub" uk-grid>{$wrapper}</div></div></div>'
    'tplInnerRow' => '@INLINE <div {$classes}><a href="{$link}" title="{$menutitle}" style="font-family: Oswald;font-size: 0.9rem;"><img src="{$imagecategory}" alt="{$menutitle}" uk-img><p class="uk-margin-remove">{$menutitle}</p></a></div>'
 ]}
И вот как это выглядит на сайте:

И еще один вывод:
2.
{'pdoMenu' | snippet : [
            'parents' => '0',
            'level' => 2,
            'hereClass' => 'uk-active',
            'tplOuter' => '@INLINE <ul class="uk-navbar-nav">{$wrapper}</ul>'
            'tplParentRow' => '@INLINE <li {$classes} class="uk-parent"><a href="#">{$menutitle}</a>{$wrapper}</li>'
            'tplInner' => '@INLINE <div class="uk-navbar-dropdown uk-navbar-dropdown-width-3"><div class="uk-column-1-2 uk-column-divider"><ul class="uk-nav uk-navbar-dropdown-nav">{$wrapper}</ul></div></div>'
            'tplInnerRow' => '@INLINE <li{$classes}><a href="{$link}">{$attributes} {$menutitle}</a>{$wrapper}</li>'
          ]}
Как выглядит:

Надеюсь поможет!
Алексей
18 июня 2019, 13:51
0
Добрый день, Олег.
Можете посмотреть дополнение для бронирования. Мне кажется, вам подойдет.
Алексей
11 июня 2019, 10:59
0
А вот здесь не подскажу, плагин ведь работает от общей суммы заказа, а не от позиций.
Алексей
11 июня 2019, 09:19
0
Добрый день, Андрей.
Вот посмотрите здесь. Я этот плагин создавал, все работало.
Алексей
05 апреля 2019, 09:10
0
Добрый день!
Если поставить showHidden=1, то будут выведены скрытые в меню ресурсы.
Алексей
28 марта 2019, 13:23
0
Да не за что. По мне, fenom. Он более гибкий и быстрый. Вот здесь описание и примеры.
Алексей
28 марта 2019, 12:44
0
Добрый день!
На fenom:
{'!pdoMenu' | snippet : [
'parents' => 0,
'level' => 2,
'hereClass' => '',
'outerClass' = >'nav navbar-nav',
'parentClass' => 'menu-item-has-children',
'innerClass' => 'sub-menu',
]}
Алексей
04 марта 2019, 17:01
0
Да, давно не виделись :)!
Ну, как вариант, можно вывести например первые шесть через pdoResources. А остальные через PdoPage limit=20 с параметром offset=6. А нет, туплю, тогда их будет изначально 26