Всего 123 801 комментарий

Николай Савин
30 марта 2023, 19:37
0
Здравствуйте.
не появляется параметр «amocrm_token_field»
Этот параметр появляется при установке компонента.
Возможно вы имели в виду, что он остается пустым?
Артур
30 марта 2023, 19:35
0
Можем связаться с Вами через телеграм?
@highpppower
Артур
30 марта 2023, 19:16
0
Здравствуйте, Николай!

Я следую вашему руководству по настройке интеграции с AmoCRM, но у меня возникли трудности. Я делаю все по инструкции, но ничего не работает. В частности, не появляется параметр «amocrm_token_field» в настройках, о котором вы упоминаете в руководстве.

Пожалуйста, помогите мне разобраться в этой ситуации и найти решение проблемы. Буду благодарен за вашу помощь!

С уважением, Артур.
Петр
30 марта 2023, 16:11
0
Установил компонент под Администратором.
А таблицы не выводятся «Нет данных для вывода»
куда копать? права? не верный конект к БД?
Алексей Смирнов
30 марта 2023, 12:54
+1
Еще пока не адаптировали. Но в дальних планах.
tvset
30 марта 2023, 11:26
0
— Дык посмотрете http заголовки этих изображений т.е. код ответа.
— посмотрите изображения через другой веб ресурс с учетом региона где должен быть индексируемым.
— поковыряйте яндекс вебмастер и там же и пофиксите…
tvset
30 марта 2023, 11:10
0
Не знаете случайно, tickets тоже не пашет на modx 3?
Константин Ильин
30 марта 2023, 07:02
+1
Если у вас свежая версия easycomm, то у него есть скрипты не требующие сторонних зависимостей:
Внимание! В версии 1.11.4-pl (15.02.2022) добавлен файл скриптов /assets/components/easycomm/js/web/ec.js, не требующий зависимостей в виде jQuery и jquery.form. Вы можете указать этот файл в настройках компонента.
Смотрите документацию компонента
Андрей Степаненко
29 марта 2023, 18:18
0
modx 3 можно юзать если только от всех дополнений откажешься))
Считай с нуля начинать
Для опытных юзеров помоему никогда не зайдет, проще на новую CMS перейти
Miša Bulic
29 марта 2023, 17:54
0
А завтра будет год, как вышел MODX 3. Много ли людей его используют?
Александр Мельник
29 марта 2023, 17:25
0
возникла такая же проблема
перезагружаю страницу, вижу alert «can t find jquery ajaxform plugin»
Причем именно не ошибку в консоли, а alert()
Как пишут здесь web-revenue.ru/modx-revo/easycomm
это изза компонента для отзывов.

А началась эта проблема, когда я удаляю со странцы вызов ajaxForm. Поскольку я пользуюсь собственной реализацией ajaxForm, то удаляю с сайтов вызовы ajaxForm. Как только удалил последний — появилась ошибка. Возвращяю хоть один вызов ajaxForm — проблема исчезает.
Из этого делаю вывод что что jquery.form нужный для работы easycomm использует и ajaxForm, но самостоятельно easycomm этот скрипт подключать не умеет.
Александр Туниеков
29 марта 2023, 14:04
+2
Править исходники лучше только для теста. Если кто-то вздумает обновить mSearch2, то правка пропадет. Лучше расширить класс фильтрации
Расширяем класс фильтрации
Все стандартные фильтры mSearch2 находятся в файле /core/components/msearch2/model/msearch2/filters.class.php. Нам нужно унаследовать его, расширить и указать новый класс в системных настройках.

Создаём новый файл в /core/components/msearch2/custom/filters/custom.class.php и пишем в него:

<?php
class myCustomFilter extends mse2FiltersHandler {}

Указывем его в системной настройке mse2_filters_handler_class.

С этого момента mSearch2 использует для работы ваш класс фильтрации, в котором вы можете писать новые методы, или переопределять стандартные.

Для получения данных используются методы getИмяМетодаValues(), для подготовки фильтра — buildИмяМетодаFilter(), а для фильтрации filterИмяМетода. Можно посмотреть, как работают эти 3 типа методов в filters.class.php.
И прописать исправленный метод getTvValues в классе myCustomFilter.
<?php
class myCustomFilter extends mse2FiltersHandler {
/**
	 * Retrieves values from Template Variables table
	 *
	 * @param array $tvs Names of tvs
	 * @param array $ids Ids of needed resources
	 *
	 * @return array Array with tvs values as keys and resources ids as values
	 */
	public function getTvValues(array $tvs, array $ids) {
		$filters = array();
		$q = $this->modx->newQuery('modResource', array('modResource.id:IN' => $ids));
		$q->leftJoin('modTemplateVarTemplate', 'TemplateVarTemplate',
			'TemplateVarTemplate.tmplvarid IN (SELECT id FROM ' . $this->modx->getTableName('modTemplateVar') . ' WHERE name IN ("' . implode('","', $tvs) . '") )
			AND modResource.template = TemplateVarTemplate.templateid'
		);
		$q->leftJoin('modTemplateVar', 'TemplateVar', 'TemplateVarTemplate.tmplvarid = TemplateVar.id');
		$q->leftJoin('modTemplateVarResource', 'TemplateVarResource', 'TemplateVarResource.tmplvarid = TemplateVar.id AND TemplateVarResource.contentid = modResource.id');
		$q->select('TemplateVar.name, TemplateVarResource.contentid as id, TemplateVarResource.value, TemplateVar.type, TemplateVar.default_text');
		$tstart = microtime(true);
		if ($q->prepare() && $q->stmt->execute()) {
			$this->modx->queryTime += microtime(true) - $tstart;
			$this->modx->executedQueries++;
			while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
				if (empty($row['id'])) {
					continue;
				}
				elseif (is_null($row['value']) || trim($row['value']) == '') {
					$row['value'] = $row['default_text'];
				}
				if ($row['type'] == 'tag' || $row['type'] == 'autotag') {
					$row['value'] = str_replace(',', '||', $row['value']);
				}
				$tmp = strpos($row['value'], '||') !== false
					? explode('||', $row['value'])
					: array($row['value']);
				foreach ($tmp as $v) {
					$v = str_replace('"', '"', trim($v));
					if ($v == '') {
						continue;
					}
					$name = strtolower($row['name']);
					if($name == 'ten-long') $v=(int)$v;
					if (isset($filters[$name][$v])) {
						$filters[$name][$v][$row['id']] = $row['id'];
					}
					else {
						$filters[$name][$v] = array($row['id'] => $row['id']);
					}
				}
			}
		}
		else {
			$this->modx->log(modX::LOG_LEVEL_ERROR, "[mSearch2] Error on get filter params.\nQuery: ".$q->toSQL()."\nResponse: ".print_r($q->stmt->errorInfo(),1));
		}

		return $filters;
	}
}
steve.kon
29 марта 2023, 09:10
0
Большущее спасибо! Всё заработало!
Александр Туниеков
28 марта 2023, 22:40
+1
или лучше
if($name == 'ten-long') $v=(int)str_replace('мм','',$v);
Александр Туниеков
28 марта 2023, 22:27
+1
Странно, что вообще с мм работает. Как мфильтер вообще число получает???
попробуйте для теста в core\components\msearch2\model\msearch2\filters.class.php после 74 строки дописать
if($name == 'ten-long') $v=(int)$v;
https://disk.yandex.ru/i/eU3jzbcssEOc8w
Николай Савин
28 марта 2023, 20:16
0
В следующий раз быстрее пиши
vectorserver
28 марта 2023, 20:16
+1
Вот только дошло до меня оно!)
Николай Савин
28 марта 2023, 20:04
+1
Чего так Долго писал?.. Обновление давно вышло