Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
02 февраля 2014, 22:47
0
Посмотри какой SQL формируется через modx::toSQL(). Выполни его в phpMyAdmin.
Сергей Шлоков
02 февраля 2014, 22:24
+1
Для начала почитать можно тут
Можно тут pdoTools
Сергей Шлоков
02 февраля 2014, 19:32
0
Для начала посмотри в лог.
Сергей Шлоков
02 февраля 2014, 13:39
+2
Могу снять с кого-нибудь нагрузку в 1000. Мне пока не надо, но в будущем возможно пригодится.
Сергей Шлоков
17 января 2014, 18:55
0
Поэтому и жаль. Фича удобная, но на локалке ни работаю.
Сергей Шлоков
17 января 2014, 18:15
0
Жаль, только для локалки
Сергей Шлоков
16 января 2014, 14:38
0
Я хром вообще снес. После обновления начал виснуть до синего экрана. И FF стал глючить — постоянные отказы в рукопожатии на ютюбе и на гитхабе. По несколько раз F5 жать надо. Чего-то с ssl. Никто не сталкивался
Сергей Шлоков
10 января 2014, 16:24
0
— 330.

— Каждому!
© «Операция Ы»
Сергей Шлоков
25 октября 2013, 14:41
0
Я не знаю возможностей битрикса, но обрати внимание как работают компьютерные интернет-магазины — там, например, нет выбора HDD через характеристику объема. Каждый HDD — это отдельная единица товара со всеми вытекающими возможностями учета остатка, отчетов по оборотам, указанием места хранения и т.д.Вот например. Внизу разделы: товары этой же фирмы, похожие товары. Очень удобно.
П.С Любую задачу можно решить нестандартно. Особенно, если программисту некому ставить задачу и все упирается в его знание матчасти. Собственный велосипед — это конечно гордость изобретателя, но проблема для пользователя.
Сергей Шлоков
25 октября 2013, 11:12
0
Одеяла с разными характеристиками не могут быть одним товаром: у них разная закупочная цена, соответственно ведется учет остатков по каждому размеру. По крайней мере, так при грамотно организованном складском учете. При одинаковой цене можно вести одну карточку товара, например, с разными цветами — через ассортимент, аналогичный товар и т.п. (в разных программах по разному называется). А с разной ценой один товар — это неправильно!
Так что разбейте одеяла на размеры и никаких доработок делать не нужно.
Сергей Шлоков
10 октября 2013, 17:21
0
С session_write_close() работает. Супер. Грасиас мерси.
П.С. Я на Timeweb разрабатываю, значит у них чего-то перекручено.
П.П.С. Еще вопросик по безопасности сессий — злоумышленник может подменить значение $_SESSION переменной?
Сергей Шлоков
10 октября 2013, 16:52
0
И я так понимаю, что должно. Но увы… Вот код для проверки:
<?php
define('MODX_API_MODE', true);
require 'index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
?>
<!DOCTYPE html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('a').click(function() {
                $.post(document.location.href, {action: 'change', val: '5'},function(data) {
                    $('#res').html(data);
                })
                return false;
            })
        })
    </script>
</head>
<body>
<?php
//')
if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    if ($_POST['action'] == 'change') {
        $_SESSION['testvar'] = $_POST['val'];
        die('
Новое значение $_SESSION["testvar"]:  '.$_SESSION["testvar"].'.  (А теперь нажимаем F5 и видим старое значение.)');
    }
}
if (!isset($_SESSION['testvar'])) {$_SESSION['testvar'] = 1;}
echo "<a id=\"test\" href=\"#1\">Изменить значение</a>";
echo "<div id=\"res\">
\$_SESSION[\"testvar\"]:  {$_SESSION['testvar']}</div>";
?>
</body>
Видимо, есть какая-то тонкость, которая ускользает от моего неопытного взгляда.
Сергей Шлоков
10 октября 2013, 11:37
0
Василий, подскажи, как поменять $_SESSION переменную через post запрос? Я делаю так:
Инициализирую переменную:
$_SESSION['var'] = 1;
При клике на ссылку посылаю ajax
$.post(document.location.href, {action: 'changevar', id: 5})
В сниппете меняю переменную
$_SESSION['var'] = $_POST['id']; // $_POST['id']=5
Проверяю, $_SESSION['var'] — все равно равна 1. Не понимаю, это же глобальный массив.
Если в сниппете поставить
$_SESSION['var'] = $_POST['id']; // $_POST['id']=5
die($_SESSION['var'])
Ajax post возвращает 5. Но $_SESSION['var'] не меняется.
Видимо есть какое-то кодовое слово, чтобы заставить $_SESSION['var'] измениться.
Сергей Шлоков
03 октября 2013, 14:25
0
Василий, помоги понять, что не работает. Взял твой процессор UserCreateProcessor и выполняю его:
$email='123@123.ru';
$fields=array('username'=>'Name','email' => $email,'fullname' => $email);

$response = $modx->runProcessor('web/staff/createUser',$fields,array('processors_path' => $modx->getOption('core_path').'components/staff/processors/'));
if (!$response->isError()) {
    print_r($response->response);
}else {
    $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
}
На выходе получаю ($response->response)
UserCreateProcessor
Пользователь не создается. Но и response ничего не выводит кроме названия класса. Даже если я генерирую ошибку в BeforeSet() или в initialize() возвращаю false, все равно получаю UserCreateProcessor. По исходникам пробежался, не могу понять, что не так. Нужна помощь доктора.
Сергей Шлоков
02 октября 2013, 19:46
0
Можно через Wayfinder (в чанке фильтр по переменной [[+tv:eq=`1`:then=`<a .....>[[+pagetitle`]], можно через pdoResources (или getResources) через параметр tvFilters.
А сниппет IF лучше заменить фильтрами MODX