Viktor

Viktor

С нами с 04 июля 2015; Место в рейтинге пользователей: #116
Viktor
30 ноября 2020, 17:20
+1
Спасибо за всё, удачи!
Viktor
13 июля 2020, 12:30
0
Охуе**о!
Viktor
05 апреля 2020, 15:05
0
если отдать туда ключ контекста то будет как у топикстартера «Параметр не найден.»
Viktor
03 апреля 2020, 18:55
0
проверяет на какое-то странное свойство fk
за решение спасибо!
Viktor
19 ноября 2019, 22:57
0
только я беру вторую страницу не из ресурса, а из обычного html файла, который сохраняю php скриптом, который не использует modx
Viktor
19 ноября 2019, 22:43
0
например, обновлять по крону глубокой ночью, чтобы ни один поисковый бот или посетитель не получил задержку в несколько секунд
Viktor
18 ноября 2019, 15:31
0
смысл differenceBetweenDatesInSeconds в указании количества секунд до точной даты и времени, а не через 604800 сек, потому что если очистить кэш вручную, время жизни кэша обновится и дата сместится.
Viktor
16 ноября 2019, 00:20
0
для нубов в modx, php или вообще программировании, типа меня, это будет полезным
Viktor
15 ноября 2019, 23:38
0
  1. результат парсинга заносим в контент;
  2. чистим кэш только этого ресурса;
  3. для обновления кэша пользователь должен зайти на страницу и получить задержку в несколько секунд (в моём случае), вместо этого мы заходим на страницу кроном.

мой велосипед это и делает, кроме заноса прямиком в контент и углубления в API MODX
Viktor
15 ноября 2019, 22:52
0
когда обработка данных закончится он мигом запишет данные в ресурс и пользователь получит актуальную информацию.
разве после того, как записать результат в контент ресурса, не нужно будет очистить кэш этого ресурса, после этого обновить кэш этого ресурса, чтобы пользователь получил обновленную инфу?
Viktor
15 ноября 2019, 22:32
0
Смысл в быстродействии.

У меня так: есть огромная страница, которую нужно спарсить раз в неделю и парсинг занимает много времени, если парсить каждый раз по окончанию действия кэша или ручной очистки кэша с админки, первому посетителю придется ждать десятки секунд (а он не будет ждать). Решил я парсить её cron-ом раз в неделю отдельным php скриптом, результат сохранять в файл на сервере (около 0.5 мб). Таким образом сниппет «snippetName» с примера выше, просто выполняет чтение и возврат этого файла «echo file_get_contents($file);», что существенно ускоряет время загрузки страницы если я очистил кэш вручную или время кэша закончилось. Потом я cron-ом выполняю запуск того самого php скрипта, который сохраняет результат в локальный файл. Вот такой вот многослойный торт.
Viktor
08 ноября 2019, 07:49
0
у меня доступно только 192 дополнения, это из-за тарифа? тариф «разработка»
Viktor
08 ноября 2019, 05:31
0
на модхосте нет дополнения в списке предустановок
Viktor
31 октября 2019, 18:02
+1
спасибо!

может кому-то пригодится:
<?php
// https://sypexgeo.net/ru/docs/
include($_SERVER['DOCUMENT_ROOT'].'/SxGeo/SxGeo.php'); 
$SxGeo = new SxGeo($_SERVER['DOCUMENT_ROOT'].'/SxGeo/SxGeoCity.dat');

//$ip = $_SERVER['REMOTE_ADDR'];
$ip = '109.252.7.175';
$city = $SxGeo->get($ip);
//var_dump($city);
$location = $city['city']['name_ru'];

$q = $modx->newQuery('modResource');
$q->where(array('parent' => 140, 'pagetitle:LIKE' => '%'.$location.'%'));
$сollection = $modx->getCollection('modResource', $q);

$i = 0;
$results = [];

foreach ($сollection as $record) {
    $results[$i] = [$record->get('id'),$record->get('pagetitle')];
    $i++;
}
//var_dump($results);
foreach ($results as $item) {
    if ($item[1] == $location) {
        echo 'Res ID: '.$item[0].', Res pagetitle: '.$item[1];
        //что-то делаем с этими данными
    };
}
Viktor
12 июня 2019, 20:11
0
проверь чтобы все формы на странице и на сайте вызывались некэшируемыми
!AjaxForm
Viktor
21 января 2019, 23:42
0
{11 | declension : 'отзыв|отзыва|отзывов' : true}
declension (decl) — склоняет слово, следующее за числом по правилам русского языка. Например: 1 яблоко, 2 яблока, 10 яблок. Вторым параметром указывается выводить ли само число, по умолчанию выводится только подходящий вариант слова. Разделитель вариантов можно задавать третьим параметром, по умолчанию |.
{6 | declension : 'яблоко|яблока|яблок'} // яблок
{3 | declension : 'яблоко|яблока|яблок' : true} // 3 яблока
{101 | decl : 'яблоко,яблока,яблок' : false : ','} // яблоко