Станислав
да как ты их разделишь
Станислав
Артур
Есть много ресурсов, 30 городов и в каждом городе 2 адреса и надо чтобы у каждого ресурса появилось 30 адресов по одному на город.
Станислав
епта, дак ты и ставь задачу
Станислав
)))
Станислав
неа, непрокатило)
Артур
Так как решить задачу-то лучше всего?)))
Алексей
Артур
Артур
Только не 1 город а все 30 и в каждом рандомный адрес
Алексей
т.е. все 30 городов с рандомными адресами?
Алексей
ну
Алексей
епта.
Артур
Алексей
ну если у тебя адреса реально такие:
$cities = array(
'city1' => array(
'addrerss1',
'address2'
),
'city2' => array(
'addrerss1',
'address2'
),
'city3' => array(
'addrerss1',
'address2'
)
);
Артур
Адрес это строка
Алексей
то
foreqch($cities as $town => $adrmany){
$rando = rand(0,1);
$randadr = $adrmany[$rando];
$gotores= [
'town' => $town,
'adr' => $randadr
]
}
Алексей
думаю смысл понятен
Артур
Алексей
незачто
Anonymous
У кого-нибудь была ошибка, что вместо {$price} выводится 1?
Также вместо {$_modx-.resource.price}. Хотя цена 2050.
Anonymous
И так со всеми товарами
Anonymous
Вот здесь у чела тоже такая ошибка:
https://modx.pro/help/21172
Но решил он ее как-то странно. Костылем.
Yurij
Есть массив
```$cities = array(
'city1' => array(
'addrerss1',
'address2'
),
'city2' => array(
'addrerss1',
'address2'
),
'city3' => array(
'addrerss1',
'address2'
)
);
И есть массив id ресурсов. Нужно получить массив
array(
'id1' => array(
array(
'city' => 'city1',
'address' => 'address2'
),
array(
'city' => 'city2',
'address' => 'address2'
),
array(
'city' => 'city3',
'address' => 'address1'
),
),
'id2' => array(
array(
'city' => 'city1',
'address' => 'address1'
),
array(
'city' => 'city2',
'address' => 'address1'
),
array(
'city' => 'city3',
'address' => 'address2'
),
),
);
Array_chunk?
Anonymous
Хочется другое решение
Артур
Yurij
Не понял?
https://www.php.net/manual/ru/function.array-chunk.php
Артур
Yurij
Теперь понял)))
Далее описиваеш логику. Делал подобное на ларе. Нужно было выводить адреса на страницах, в зациленом порядке.
Екатерина
Всем привет. Кто-нибудь сталкивался с тем, что один скрипт, долго исполняемый, вешает весь сайт?
Артур
Yurij
Yurij
Alisa
Alisa
Если зависает не намертво - debugParser в помощь.
Екатерина
почему один скрипт может повесить весь сайт? как же возможнотсь nginx держать множественное пдключение а маськи по умолчанию 151 коннект?
Alisa
Если намертво заблокировать таблицу с сессиями, то эти лимиты не важны.
Alisa
Аналогично, при PHP-сессии (без БД) будет лимит в 1 запрос от 1 юзера, если тем нужна сессия.
Екатерина
а как сделать, чтобы скрипт не блокировал таблицу с сессиями?
Alisa
Не засерать её.
Alisa
Закрывать при AJAX запросах заранее, если не нужна.
Alisa
Ещё может быть потеря RAM/свободного места под кеш БД.
Екатерина
таблица сессий вообще пуста
Alisa
Это если дофига жирных SELECT-ов с filesort или нет нормальных индексов.
Екатерина
селект только один
Екатерина
и только один юзер запускает скрипт
Екатерина
и скрипт вешает весь сайт
Alisa
Alisa
Чтобы смотреть, что он делает. Может там временная таблица с миллионом записей на диск не влезает?
Alisa
Или fullscan'ит этот миллион по пять раз на запрос.
Екатерина
нет, это все не то, запрос просто один раз берет 200 товаров и дальше пошли курлы к апи стороннего сайта. все дальнейшие обращения к бд закомментированы - чтобы убедиться, что дело не в бд
Артур
Кто скажет почему в чанке вот так [[+choosenCity]] выводит значение, а вот так
{$choosenCity}
{$_modx->getPlaceholder('choosenCity')}
{$_pls['choosenCity']}
{'choosenCity' | placeholder}
не выводит?
Андрей
Артур
Андрей
Да
А pdoTools в нём подключен?
Артур
getTickets вот этот сниппет, наверное подключен. Весь чанк на феноме написан
Андрей
Артур
Можно зайти с другой стороны есть города которые переключаются seoFilter мне нужно в чанке получить текущий город, никакой геолокации нет, город есть в url. Как его можно оттуда вытащить, если не в плагине?
Igor
alexey1m
привет, можно ли контекст ресурса из админки поменять?
Alisa
Да, перетащить мышкой.
Алексей
Alisa
Екатерина
Екатерина
Для примера: если на ларавел сутками крутятся парсеры с курлами - это никак не влияет на работу приложения, и люди могут взаимодействовать с сайтом сколько угодно раз. А один скрипт, вызывающий MODX, вешает работу веб-сервера для всего сайта на модекс для всех пользователей
Екатерина
Дело в том, что не должен блокироваться доступ к сайту для всех остальных, на мноядерном то впс
Алексей
Anonymous
Почему первый return возвращает "1". А если его закомментировать, отработает второй return. И он возвращает правильную цену?
<?php
return $modx->resource->get('price');
$obj = $modx->getObject('msProduct', $modx->resource->id);
return $obj->get('price');
Alisa
Проверяйте подряд всю цепочку, от запроса...
Смотрите логи веб-сервера и MODX на наличие ошибок.
Alisa
200 товаров, если они через xPDO объекты - довольно много. Примерный потолок для 128 RAM около 300-400 товаров в таком виде.
Алексей
Алексей
Alisa
По-умолчанию у CURL нет настроек для таймаутов. В laravel обычно используют обёртки (например guzzle) которые их проставляют.