websfera

websfera

С нами с 30 марта 2017; Место в рейтинге пользователей: #454
websfera
29 ноября 2019, 01:03
0
попробовал, получилось,
foreach ($optCollection as $opt) {
  $key = 'mse2_filter_msoption_'.$opt->get('key'); // Добавляем к каждой опции префикс
  $q = $modx->newQuery('modLexiconEntry');
  $q->where(array(
    'namespace' => 'msearch2',
    'topic' => 'default',
    'name' => $key
  ));
  $lexicon = $modx->getObject('modLexiconEntry', $q);
  // Пытаемся получить запись из словаря для этой опции
  if (!$lexicon){
    // Если записи нет - добавляем опцию в словарь
    $newLexicon = $modx->newObject('modLexiconEntry', array(
      'name' => $key,
      'value' => $opt->get('caption'),
      'namespace' => 'msearch2',
      'topic' => 'default',
      'language' => 'ru',
      'createdon' => time()
    ));
но проблема в том, что на стр. — mse2_filter_msoption_height
А в словать добавляется mse2_filter_msoption_Height
т.к. в опциях используются большие и маленькие буквы, а на стр идут только маленькие.
Как быть?
websfera
29 ноября 2019, 00:07
0
Благодарю, всё оказалось просто.
websfera
07 августа 2019, 14:31
0
Вопрос сейчас в том, как выводить нашу (опционную) единицу измерения в корзине.
Получилось решить вопрос? Подскажите как, у нас такая же проблема.
websfera
24 мая 2019, 08:35
0
relevate.ru
php 5.6
0.0004771: Created inline «modChunk» with name «d9ad1bcdc5a530ed83598e35a1357e51»
0.2642510: Total time
5 767 168: Memory usage
websfera
19 мая 2019, 21:42
0
Вот теперь красиво.
У меня с бутстрапом
{var $links = '!pdoPage@Bootstrap4' | snippet : [
    'element' => 'msProducts',
    'tpl' => 'tpl.msProducts.row',
    'parents' => '2',
    'link' => '1',
    'limit' => '5',
    'master' => $_modx->resource.id,
	'showlog' => 1
]}
{if $links?}
<h3>Сопутствующие товары:</h3>
<div class="card-deck">
    <div class="row justify-content-around">
        {$links}
   </div>
</div>
{'page.nav' | placeholder}
{/if}
websfera
19 мая 2019, 21:14
0
Вот что сваял… как-то криво, но работает
var $links = '!msProducts' | snippet : [
	'parents' => 2,
	'link' => 1,
	'master' => $_modx->resource.id,
]}
{if $links?} 
<h3>Сопутствующие товары:</h3>
<div class="card-deck">
    <div class="row justify-content-around">
        {'!pdoPage@Bootstrap4' | snippet : [
            'element' => 'msProducts',
            'tpl' => 'tpl.msProducts.row',
            'parents' => '2',
            'link' => '1',
            'limit' => '5',
            'master' => $_modx->resource.id,
        ]}
    </div>
</div>
{/if}
{$modx->getPlaceholder('page.nav')}
websfera
19 мая 2019, 21:09
0
Вот только теперь ещё нужно сообразить как пагинацию прикрутить
websfera
19 мая 2019, 20:53
0
Эх… умному всё просто а дураку всё морока…
Благодарю, помогло.
websfera
19 мая 2019, 20:14
0
Блин… это я перепутал с msProductOptions
Подразумевалось, что это проверка на наличие связей у товара. Стандартная переменная минишопа (а вот есть ли такая не могу понять).
А вообще смысл такой — если есть сопутствующие товары — выводим блок, если нет — не выводим.
А вот как прописать переменную связей не могу сообразить.
websfera
19 мая 2019, 13:32
0
Благодарю, частично помогло, но вот с условием не срабатывает.
Думаю, что здесь
{if $_modx->resource.options?}
неверно указал переменную
$options
websfera
08 мая 2019, 14:41
0
не такая уж и проблема закинуть человеку на кошелек 300р.
Для меня проблема. Не в рублёвой зоне. Даже чтобы дополнение здесь купить приходится обращаться к друзьям из России.
Знания — это то, что человек продает.
Мы с вами как из разных человечеств )))
Для меня знания не товар, а скорее дар. Поэтому, мне так легко и естественно его дарить. Учусь всю жизнь, но по PHP есть хороший друг, поэтому мне всегда было легче спросить или попросить, чем изучать.
вы хотите готовое решение.
Да уже никто ничего не хочет )) Получил минусов полную корзину ))
А готовое решение было в том посте 3-хлетней давности в виде «pl-38125», что меня вполне бы устроило.
Мы не росой и лучами солнышка питаемся, а едой, которую нужно покупать за деньги, а деньги разработчики зарабатывают знаниями.
Так кто же спорит. Любой труд должен быть достойно вознаграждён.
websfera
08 мая 2019, 13:20
0
Вот вы написали — знаний у вас нет. Эти знания, это хлеб для разработчика.
В PHP знаний нет. Но в чём я специалист, я с радостью делюсь своими знаниями совершенно безплатно, когда ко мне обращаются. И беднее от этого не стал. Потому что, уважение за деньги не купишь. И ни от кого подобного не требую. Это дело добровольное.
Эти знания, это хлеб для разработчика.
Не хлебом единым… Но если у человека нет внутренней потребности помогать нуждающемуся, то тут конечно хлеб, хлеб и только хлеб.
Мда, уже в который раз пожалел, что создал этот топик. А создал не для того, чтобы получить безплатно готовый вариант и отобрать у кого-то его хлеб, а чтобы задача получила законченное решение и осталась здесь для тех, кто нуждается.
А иначе, зачем раздел help?
К тому же, это была просьба, высказанная в вежливой форме. Не упрёк, не требование, не наезд. Но оказалось — не по форме вопрос задал. Форма — всё, человеческое отношение ничто. А снисходить к непонимающему карма не позволяет?
К тому же, оплатить труд разработчика я могу в платном разделе Modstore (что уже неоднократно делал, и ещё не раз сделаю).
websfera
07 мая 2019, 20:00
0
Николай, а как должна выглядеть строка:
$resource->set('article', substr($resource->get('alias'),0,2).'-'.$resource->get('parent').$resource->get('id'));
без первых двух символов алиаса ресурса и дефиски.
а то у меня синтаксеррор…
websfera
06 мая 2019, 09:45
0
Михаил, ну посудите сами, как я могу модифицировать код PHP, если ничего в этом не понимаю. Нет знаний. Поэтому есть два варианта — учить PHP, или обратиться за помощью к тому, кто уже его знает. И ладно, была бы это уникальная ситуация, никому кроме меня не нужная, тогда бы я написал кому-то из знакомых на почту и всё. Так нет, подумал вдруг это кому-то, такому же как я, пригодится, как пригодился мне тот код трёхлетней давности, который я привёл в ссылке.
Я же не задал вопрос, решение которого уже много раз приводилось на сайте, не удосужившись немного поискать.
Вот и вся разница. Что здесь понимать.
websfera
05 мая 2019, 13:49
-1
Учту, а приседать и говорить Ку! при этом не нужно? )))
websfera
05 мая 2019, 13:47
0
Действительно, всё, оказывается, просто. Благодарю!
websfera
05 мая 2019, 10:20
0
Хм… Вот уж не думал, что просьба может вызвать такую реакцию. Всегда думал, что помогать друг другу это как-то по-человечески, особенно, если это занимает пару минут твоего времени. Но если (по моему невежеству) это оказалась какая-то серьёзная работа, приношу свои извинения многоуважаемым специалистам PHP проминусовавшим данный топик.
websfera
26 августа 2018, 10:10
0
Это было первым, что пытался реализовать, но как подружить кирилический pagetitle состоящий из 5-8 слов и data-whatever="@mdo" мне, видимо, смекалки не хватило
websfera
25 августа 2018, 19:05
0
Решение (Благодаря помощи Павла Романова)
В чанк kontact-form добавляем скрытое поле:
<input type="hidden" value="" name="itemtitle" class="itemfield" />
Добавляем в кнопку обработчик клика onclick=«getItem('{$pagetitle}');»:
<button type="button" class="btn btn-secondary btn-lg btn-block" data-toggle="modal" data-target="#adviceModal" onclick="getItem('{$pagetitle}');">ЗАКАЗАТЬ</button>
и выносим в вызове pdoPage в чанк, либо заменяем ('{$pagetitle}') на (\'{$pagetitle}\')
Добавляем где-нибудь на странице функцию:
<script>
    function getItem(i){
        $('.itemfield').val(i);
    }
</script>
В вызов ajaxForm прописываем:
&emailSubject=`[[+itemtitle]]`
у меня сработало.
websfera
25 августа 2018, 10:10
0
ответ слишком сложный для меня, можно поподробнее?
1. в каком чанке нужно прописать?
{$_modx->resource.pagetitle}
Если прописываю в
&form=`kontact-form`
    &emailTpl=`tpl-kontact-form`
получаю только заглавие страницы списка услуг в форме.
2. «вешаешь событие af_complete» — куда его «вешать»?
Я думал нужно здесь что-то менять:
&emailSubject=`Сообщение с сайта [[++site_url]]`
Чтобы в заголовке письма вместо «Сообщение с сайта...» был указан нужный pagetitle дочернего ресурса.