Всего 125 966 комментариев

Александр Мельник
20 марта 2022, 11:00
+1
1. Но вы же не передаете эти параметры внутрь AjaxForm. Чтобы внутри формы вам был доступен [[+vacancy_name]] нужно передать его при вызове AjaxForm
[[!AjaxForm?
&form=`tpl.vacancyAjaxForm`
&vacancy_name=`hello world`
]]
2. Вы наверное не так поняли Артура. Это очень плохая практика, когда у каждой услуги (товаре или что там еще) создается своя форма при помощи ajaxform. А если их будет 1000? 1000 раз будете на одной странице запускать сниппет ajaxform? Более экономично и разумно, иметь один вызов ajaxform где то в футере, он реализует одну форму. А дополнительно на js вы пишите просто скрипт который при клике на кнопку берет данные конкретно той вакансии, по которой кликнули и вставляет данные в ту форму, которая у вас в футере. И открывает модальное окно с этой формой. Тогда имея всего одну форму вы сможете сделать заказ любой вакансии, потому что данные в форме будут заполнены при клике и будут каждый раз разные.
Дмитрий
20 марта 2022, 10:49
0
1. Так и пишем — [[+idx]], [[+vacancy_name]] и т.д. Но выводится пустота
2. Так и написал
<input name="vacancy" placeholder="[[+vacancy_name]]" value="[[+vacancy_name]]" type="text">
3. Каждая форма должна быть идентифицирована уникальным ID, соответствующим номеру элемента modx (то есть с помощью [[+idx]])
Артур Шевченко
20 марта 2022, 10:02
+1
1. AjaxForm принимает любые параметры и в шаблоне они доступны как [[+placeholder]].
2. Чтобы данные передавались на почту они должны быть значениями именованного поля формы.
3. Чья фантазия придумала вызывать AjaxForm внутри каждого элемента? Хорошей практикой считает сделать 1 форму и с помощью JS подставлять в неё нужные данные, например название вакансии.
Николай Савин
20 марта 2022, 08:51
+3
У вас в шаблонах, используются php методы в trim, array_merge в качестве модификаторов. В обычном режиме работы pdoTools про php методы ничего не знает. Чтобы узнал, можно попробовать включить настройку «Разрешить php в феном». Я не уверен что поможет, но попробовать можно.
Если не поможет то — либо убирать такие записи по коду шаблона, либо создать сниппеты реализующие подобный функционал.
Артур Шевченко
19 марта 2022, 22:54
0
Для начала я бы создал отсутствующие сниппеты или нашёл место вызова и удалил вызов.
deleted
19 марта 2022, 21:59
0
Обычно делаю кнопку «показать ещё» вместе с обычной пагинацией, чтоб такой проблемы не возникало. На DNS так сделано.
Александр Мельник
19 марта 2022, 20:52
+1
Для этого нужно знать javascript и поискать документацию на pdoPage.

Вы можете написать свою функцию, указав ее в качестве функции обратного вызова при событии pdopage_load
Ваша функция может получить количество карточек товаров (услуг или чего вы там выводите) и вставить это число в нужное вам место страницы.
Таким образом у вас общее число будет браться с [[+page.total]] а реальное количество на странице динамически подставляться через javascript
Артур Шевченко
19 марта 2022, 13:31
0
Код ниже удалит все неактивные модификации созданные через компонент msOptionsPrice2. Думаю что компонент msOptionsColor так же хранит данные в отдельной таблице и имеет свой класс объектов. Надо посмотреть в схеме таблиц как этот класс называется и как называется поле которое отвечает за активность и поменять «msopModification» на найденный класс, а «active» на название поля.
<?php
$modifications = $modx->getIterator('msopModification', array('active:!=' => 1));
$counter = 0;
if(count($modifications)){
    foreach($modifications as $modification){
        $counter++;
        $modification->remove();
    }
    echo 'Removed ' . $counter . ' modifications';
}
Артур Шевченко
19 марта 2022, 13:25
0
Если в чанке
{$tv_img | imgattr : 'dimensions' }
Если в шаблоне
{$_modx->resource.tv_img | imgattr : 'dimensions' }
Дмитрий
19 марта 2022, 13:20
0
Удалось найти решение?
Илья Уткин
19 марта 2022, 05:43
+1
Привет! Напиши, пожалуйста здесь, чтобы мы не забыли поправить — github.com/modx-pro/Community/issues
Дмитрий
19 марта 2022, 00:50
0
Более подробно
вот сайт
dima-samarin.github.io/priect/
наши услуги
оформить заявку
вот код
<div class="modal" id="order">
  <div class="modal__inner">
      <div class="modal__content">
        <form class="callback modal__form" id="modal">
          <div class="success__modal">
            Спасибо за заявку! Наши менеджеры свяжутся с вами в ближайшее время.
          </div>
            <div class="modal__header">
                <h3 class="modal__title">Оставить заявку:</h3>
               <div><p class="modal__description"></p></div>
            </div>
            <input type="hidden" name="project_name" value="Юрдис">
            <input type="hidden" name="admin_email" value="serv-win-1@yandex.ru">
            <input type="hidden" name="form_subject" value="Новая заявка с сайта">
            <input type="hidden" name="services">
            
            <input type="text" class="modal__input" name="name" placeholder="Ваше имя" required>
            <input type="text" class="modal__input phone" name="phone" placeholder="Ваш телефон" required>
            <textarea class="modal__textarea" name="mess" placeholder="Ваше сообщение" required></textarea>
            <button type="submit" class="btn modal__btn">Отправить сообщение</button>
            <button class="modal__close" type="button">
                ×
            </button>
        
        </form>
      </div>
  </div>
</div>
Мне надо, чтобы вот сюда
modal__description
передалось значение услуг
и вывелось
Фарит
Фарит
18 марта 2022, 23:35
0
Вот этот момент исключите, пожалуйста
Десятый поисковик будет космических денег стоить тогда :)))
Стало:
«Функциональные возможности присланного дополнения могут повторять функциональные возможности дополнений, размещенных в маркетплейсе в том случае, если его стоимость выше на 10+% (минимальной | первой | средней арифметической | базовой и т д) ».
R2m0x94 (Vasily)
18 марта 2022, 19:11
0
Получилось, спасибо. Более детально описал ниже.
R2m0x94 (Vasily)
18 марта 2022, 19:10
0
Возможное решение:
Решение не совсем правильное, так как если выгрузить на хостинг ошибка пропадает, зато если разработка ведётся локально, то напрягает, поэтому временно идём в Медиа > Источники файлов, там ставим в графах basePath & baseUrl полный путь с диска до корня, например: E:\OSPanel\domains\site.ru\

Ошибка пропадает, изображение грузится ОК, но при этом выбор файла не доступен. Удачных разработок и перед выгрузкой на хостинг ставим медиа источник обратно.

Лирика:
Конечно времени ездить по файлом почти ни у кого нет core\model\phpthumb\phpthumb.class.php:3474 функция SetCacheFilename(), там есть такой код:
if ($this->md5s) {
	// source image MD5 hash provided
	// do not source image modification date --
	// cached image will be used even if file was modified or removed
} elseif (!$this->config_cache_source_filemtime_ignore_remote && preg_match('#^(f|ht)tps?\://#i', $this->src)) {
	$this->cache_filename .= '_dat'.intval(phpthumb_functions::filedate_remote($this->src));
} elseif (!$this->config_cache_source_filemtime_ignore_local && $this->src && !$this->rawImageData) {
	$this->cache_filename .= '_dat'.intval(@filemtime($this->sourceFilename));
}
Можно увидеть, что в строке есть функция filemtime(), которая отдаёт 0, почему? Потому, что если убрать ссылку @ от функции, то вы увидите в журнале не корректный путь, который конечно можно перезапрограмировать в этой строке:
$this->cache_filename .= '_dat'.intval(@filemtime($this->sourceFilename));
Надеюсь помог, и не забываем про обратный слэш \/

Скорей всего в новых версиях ModX >= 3 это уже исправят.
Эрадж Шамс
18 марта 2022, 13:05
0
Это скорее надо использовать поддомены, примерно как тут SEODomains , добавлять в вебмастеры и указывать региональность
Sergey (Sentinel)
18 марта 2022, 13:00
+2
Десятый поисковик будет космических денег стоить тогда :)))
Илья Уткин
18 марта 2022, 12:58
+6
Теперь можно сделать свой SnowStorm и продавать его за 1000 руб. =))
Leonid Krylov
18 марта 2022, 12:38
0
Мы всегда индивидуально решаем вопросы частичного пересечения функциональности. Пишите, обсудим!
Николай Савин
18 марта 2022, 12:14
+5
Искренне рад. Уверен это даст толчок и принесет только развитие.