Андрей

Андрей

С нами с 28 октября 2016; Место в рейтинге пользователей: #316
Андрей
13 марта 2024, 11:12
0
там еще нужно заменить
ord($c{1})
на
ord($c[1])
и
ord($c{2})
на
ord($c[2])
и
ord($c{3})
на
ord($c[3])
Андрей
13 марта 2024, 11:02
0
проблема, судя по всему, до сих пор актуальна, на php 8.2
Андрей
08 апреля 2023, 16:38
0
сделал по аналогии
файл
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_POST['action'])) {
		return;
	}

	define('MODX_API_MODE', true);

	require dirname(dirname(dirname(__FILE__))) . '/index.php';
	
	$modx->getService('error','error.modError');
	$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
	$modx->setLogTarget('FILE');
	
	
	if ($_POST['action'] == "getList" && isset($_POST['parent'])) {
		//Получаем значение для второго селектора
		$snippetParams = array();
		$snippetParams['parents'] = intval($_POST['parent']);
		$snippetParams['tpl'] = 'option.item';
		$snippetParams['showUnpublished'] = '1';
		$snippetParams['depth'] = '0';

		//Дописать параметры для сниппета получающего результаты по вкусу			

		$snippetResult = $modx->runSnippet('pdoResources', $snippetParams);

		$result = array($snippetResult, 'success');
	}
	else {
		$result = array('Некорректный запрос', 'error');
	}
	
	if (!empty($result)) {
		die(json_encode($result));
	}
скрипт
<script type="text/javascript">
    	$(document).on('change', 'select[name="vid_vzn"]', function(e) {
    		if ($(this).val() != '') {
        			$.ajax({
        				type: "POST",
        				url: "assets/lk/getlist.php",
        				data: {
        				    action: 'getList', 
        				    parent: $("select[name='vid_vzn']").val()
           		         },

        			success: function(response) {
        				var data = eval(response);
        
        				switch (data[1]) {
        					case 'success':
    						//Если все ок - вставляем результат во второй селектор
    						$("select[name='god']").val("").html("<option value='' selected disabled>Выберите значение из списка</option>" + data[0])
    
        						break;
       							
        						
        					}
        				}
        			});
    		}
    	});
    </script>
html
<div class="form-group">
		<label for="vid_vzn" class="col-sm-4 control-label">Вид взноса</label>
		<div class="col-sm-8">
			 <select class="form-control" name="vid_vzn" id="vid_vzn">
			 [[!pdoResources?
			    &parents=`1469`
			    &depth=`0`
			    &limit=`0`
			    &showUnpublished=`1`
			    &tpl=`@INLINE <option value="[[+id]]">[[+pagetitle]]</option>`
			    &sortby=`pagetitle`
			    &sortdir=`ASC`
			]]
			 </select>
		</div>
	</div>
	<div class="form-group">
		<label for="god" class="col-sm-4 control-label">Выберите год</label>
		<div class="col-sm-8">
			<select name="god">
			    <option value="" selected disabled>Год</option>
			</select>
		</div>
	</div>
удалил вот это кусок, он у меня ошибку вызвал, по идее если все норм он не должен влиять на работу.
case 'error':
							//Если не ок - выводим ошибку (используется jGrowl)
    							$.jGrowl(data[0], {theme: 'error', position: 'center'});
    							
    							break;
при переключении первого списка появляется только вот это «Выберите значение из списка», а сам список пустой.
элементы неопубликованные и контейнеры, но я вроде бы добавил параметры чтобы они попадали в выборку, да и пробовал публиковать — все равно ничего не дает.
Андрей
17 февраля 2023, 21:19
0
Насколько я помню debian криво обновился и не запускалась почта в принципе.
Андрей
25 мая 2022, 19:09
0
php модуль mbstring установлен?
Андрей
23 мая 2022, 10:51
0
проблема оказалась в 3-й версии pdoTools.
$content = $pdo->getChunk($pdfTpl, $fields);
заменил на штатный обработчик чанков и все заработало
$content = $modx->getChunk($pdfTpl, $fields);
Андрей
21 мая 2022, 08:16
0
Спасибо, это очевидные альтернативы.
Я, конечно, вернулся на 2.8.4.
Но дело в том, что это самописные сниппеты, кроме меня никто их не обновит и рано или поздно этот вопрос все равно придется решать.
Андрей
27 апреля 2022, 07:56
0
не читал, но так тоже что и у меня и работает, но со стандартными полями.
получилось вот так, не через хук, но работает.
$profile = $modx->user->getOne('Profile');
$fields = $profile->get('extended');
$id_user = $fields['id_club'];
Андрей
26 апреля 2022, 22:35
0
Разве только для formit? С fullname работает же.
Сейчас речь об UpdateProfile из пакета Login.
Данные нужны текущего пользователя.
Речь идет о синхронизации информации из профиля с ресурсом, в некоторой части совпадающей с профилем, когда этот профиль меняется.
Андрей
25 апреля 2022, 16:28
0
в общем, вот еще статься по теме
помогло только полное разлогинивание всех пользователей с ручной очисткой кеша
Андрей
25 апреля 2022, 15:16
0
нашел вот такую статью
перелогин тоже не помогает, как и чиста кеша, в том числе руками, но если зайти с другого устройства или даже браузера на том же компе — то все корректно отражается
Андрей
24 апреля 2022, 11:35
0
да, вот так работает. спасибо.
Андрей
24 апреля 2022, 11:04
0
префикс я наоборот добавлял, стандартный tv, это не помогает. если его убрать то тоже ошибка
Error 42S22 executing statement: 
Array
(
    [0] => 42S22
    [1] => 1054
    [2] => Unknown column 'modResource.vznos' in 'where clause'
)
Андрей
23 апреля 2022, 23:46
0
Да, проблема была в хостинге.
Андрей
23 апреля 2022, 22:49
0
Весь код там большой, 4 аналогичные выборки и обработка полученных данных. В 3-х из них этот TV параметр у родителя, поэтому я вынужден получать его через дополнительный запрос, а в этом случае этот параметр есть у самого ресурса.
И еще смущает что когда я его выбираю как он называется (vznos), то страница наглухо падает от 500 ошибки, а если как tv.vznos то ошибки нет, код работает корректно, кроме того что в полученном json массиве нет нужного TV параметра.
Андрей
23 апреля 2022, 22:17
0
Точнее не бывает, я его потом все равно получаю, через getObject и getTVValue.
Просто получается лишний запрос, ну и в принципе хотелось бы понять что не так, для понимания.
Андрей
23 апреля 2022, 22:04
0
Была такая мысль, но тогда наверное ошибка в логах была бы. Но, пожалуй, напишу хостеру на всякий случай.
Андрей
23 апреля 2022, 21:31
0
Папку спам проверял, высылал и на почту Яндекса и на почту Гугла.
Пробовал отправлять сообщения сниппетом Register, Sendex и встроенной функцией восстановления пароля в MODX.

Ошибки, конечно, есть. Я тестировал другой сниппет и там были ошибки.
Но по времени если брать, время вызова phpmailer, то в это время ошибок не было.
Андрей
23 апреля 2022, 21:23
0
Очень сомнительно. Если я включаю в выборку TV параметр vznos, а не tv.vznos, то ошибка не пропадает даже если я вообще убираю where.
С другой стороны, без tv параметров условие прописанное в where работают.
Андрей
05 апреля 2021, 10:05
0
Ну да, в итоге так и сделал.
Наверное, так даже более правильно.