Александр Туниеков

Александр Туниеков

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
20 сентября 2020, 19:58
+1
Да фиг знает :-). MODX у меня первая и единственная система в которой я программирую. ларавел октябрь и остальные как-то не вдохновляют. Это паника, что MODX умирает заражает :-). Вот ищю альтернативы. Но пока ничего не приглянулось.
Александр Туниеков
20 сентября 2020, 18:40
0
А что лучший для Вас?
Александр Туниеков
20 сентября 2020, 18:38
0
Страпи уже тыкал. Впечатления пока не однозначные. Во первых ошибку через раз кидает почему-то. Во вторых там нет админки для менеджеров. Бекенд только таблицы конструировать и наполнять их. Конечно, менеджеры грубо говоря таблицы только и наполняют, но им тоже дружелюбный интерфейс нужен. Например интерфейс магазина и интерфейс наполнения страниц(блога, новостей, статей).
Александр Туниеков
20 сентября 2020, 13:58
0
Ну CMS и язык программирования конечно сравнивать я поторопился, но я имел в виду, что у ноды некоторое преимушество перед php. На php для меня MODX лучший, но, если бы на ноде была сравнимая с MODX CMS, я бы начал ее изучать и на ней программировать. Но такой CMS на ноде не нашел, а компонентов, чтоб собирать сервер на ноде много и их изучать много времени надо и передавать такой сервер другому програмисту не очень получиться наверно. Много уникального кода в небольшом проекте и программист перестал поддерживать проект — проект загнулся :-(.
Александр Туниеков
20 сентября 2020, 06:47
+1
Жить он будет ещё достаточно долго, в том или ином виде.
По моему, сейчас, его паникеры мол долго не развивается губят.
У MODX получилась какая-то цельная конструкция, что нет необходимости каждый раз собирать систему из кучи разнородных компонентов. И для сборки сайта на MODX требуется немного компонентов и большая часть компонентов совместимы с друг другом. По крайней мере для меня это большой плюс. Не приходиться изучать кучу плагинов как для вордпресс. И много внятной документации на русском. И достаточно развитое сообщество.
Но и разрабам такой системы сложно делать обновления. Приходиться думать над совместимостью.
Вообщем на MODX я крепко залип. Единственный конкурент MODX для меня это node.js, но блин это конструктор еще тот :-(. Нефига не цельная экосистема.
Так вот, вчера меня из него исключили без объяснения причин.
Вы Василий человек так скажем резкий. Может и за дело выкинули? ;-)
Александр Туниеков
17 сентября 2020, 22:30
0
Спасибо. Я правда уже стандартные чанки поменял. Просто сделал замену во всех чанках glyphicon glyphicon на fa fa
Александр Туниеков
17 сентября 2020, 15:03
0
Блин. Зачем потерли?? Вещь нужная. Теперь придется самому править :-(
Александр Туниеков
14 августа 2020, 21:23
0
Что-то не помогло :-).
Я в итоге закатал в плагин Ace строчку
$modx->controller->addHtml("<style>.ace_editor {font: 12px/normal 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;}</style>");
yadi.sk/i/WV5Y0IWDRaIqRA
Александр Туниеков
16 июля 2020, 09:35
0
Добрый день! У нас пришлось дописывать антибот чтоб с пустым реферал запросы автоматически блокировал. И то это только снизило нагрузку. Парсили с кучи разных IP и USER AGENT со всего мира. Самая полезное оказалось что у провайдера есть возможнось заблокировать не русские IP. Сразу снизило нагрузку.
Вы проанализируйте как атака идет. Если IP или USER AGENT один то заблокировать легко, а иначе нужно искать какие-то признаки что это не нужный трафик.
Александр Туниеков
05 апреля 2020, 01:39
0
Не понятно в чем проблема на хостинге. Ты бы хотя бы консоль разработчика chrome открыл и посмотрел какие запросы и ответы идут при запуске скрипта.
Александр Туниеков
04 апреля 2020, 16:25
0
Жесть. Вообще беккап базы каждый день должен делаться.
Вы посмотрите от какого юзера modx работает в core/config/config.inc.php. Если там не root то все просто заходите под этим пользователем и востонавливаете root или беккап делаете.
А если root то непонятно почему работает. Но если работает наверно проще поставить modx.cc/documentation/additions/databackup/ и сниппет backup выполнить.
Александр Туниеков
04 апреля 2020, 16:05
0
Вроде правильно скрипт написан… А что не получается?
Александр Туниеков
23 марта 2020, 15:27
+1
Извиняюсь. Наверно не дожал заплатить. Их там куча вылазить. Сейчас отправил. Дошло?
Александр Туниеков
23 марта 2020, 14:39
0
Кому стало полезно))): донатики
Сюда нажал. На яндекс перекинуло.

Со своей сборкой почти все победил. Как собрать разобрался, пакеты добавил, добавил сразу настройку поставщика модсторе, ошибки пролечил. И тут оказалось что все шаблоны и чанки на php написаны :-(. А на это привыкать не надо. В pdoTools поддержку $modx и php я вырубил. Придется чанки и шаблоны с другого проекта брать или самому переписывать ;-(.
Александр Туниеков
23 марта 2020, 00:41
0
Задонатил чуток :-). Но как собрать свою сборку на базе твоей не слишком понятно :-(. Сижу разбираюсь :-).
Александр Туниеков
21 марта 2020, 14:58
0
{'!TicketLatest' | snippet : [
      'checkPermissions'=>'list',
]}

Тест лишнее. Не работает. Наверно основной класс запроса не Ticket, поэтому не срабатыват. Извиняюсь, лезть в код не стал и точно сказать не могу. Только проверил.
Александр Туниеков
21 марта 2020, 05:33
0
Блин фиг пойми как заметку переписывать :-(. Сразу логические связки теряются :-). Ладно, надеюсь, комментарии читать будут.
Александр Туниеков
21 марта 2020, 05:29
0
Мда… Как то не подумал что list прокатит. Думал надо заводить какие-то отдельные права :-(. Вообщем не сообразил.
Для getTickets тоже прокатило. А с TicketLatest уже не срабатывает.
Александр Туниеков
20 марта 2020, 06:33
0
Я в старом modExtra делал. Там в build.config.php ресолверы подключаются
$BUILD_RESOLVERS = array(
    'tables',
    'chunks',
    'default_fields',
    //'setup',
    //'office',
);
Главное после tables его включить. В tables сами таблицы создаются.
В новом modExtra build.php
// Add resolvers into vehicle
		$resolvers = scandir($this->config['resolvers']);
		
		foreach ($resolvers as $resolver) {
			if (in_array($resolver[0], ['_', '.'])) {
				continue;
			}
			if ($vehicle->resolve('php', ['source' => $this->config['resolvers'] . $resolver])) {
				$this->modx->log(modX::LOG_LEVEL_INFO, 'Added resolver ' . preg_replace('#\.php$#', '', $resolver));
			}
		}
Ресолверы сами подключаются из папки. Наверно их стоит переименовать 1tables.php и т.д. Может сработает. Проверять надо.
А вы как данные в базу подключаете? Или еще не подключаете?
Александр Туниеков
19 марта 2020, 13:52
1
+1
Я тупо в ресолвере через newObject добавляю. Если есть лучше вариант, то будет интересно узнать.
resolve.default_fields.php
/** @var xPDOTransport $transport */
/** @var array $options */
/** @var modX $modx */
if ($transport->xpdo) {
    $modx =& $transport->xpdo;
	/** @var array $options */
	switch ($options[xPDOTransport::PACKAGE_ACTION]) {
		case xPDOTransport::ACTION_INSTALL:
			$fields = [
				[
					'name'=>'res_id',
					'label'=>'Мероприятие',
					'dbtype'=>'int',
					'precision'=>10,
					'phptype'=>'integer',
					'xtype'=>'tevent-univers-combo',
					'sort'=>1,
					'validate'=>'required',
					'select_query'=>
'{
    "parents":"0",
    "template":"1"
}',
					'filter'=>true,
					'active'=>true,
				],
///еще поля
			];
			foreach($fields as $field){
				if(!$in_field = $modx->getObject('tEventField',['name'=>$field['name']])){
					if($in_field = $modx->newObject('tEventField')){
						$in_field->fromArray($field);
						if(!$in_field->save()) $modx->log(xPDO::LOG_LEVEL_ERROR, "[tEvent] field {$field['name']} not add!");
					}
				}
			}
			$modx->log(xPDO::LOG_LEVEL_INFO, '[tEvent] Successfully add Default fields!');
			break;

	}
}