Игорь Терентьев

Игорь Терентьев

С нами с 29 ноября 2013; Место в рейтинге пользователей: #83

Сайт на Revo, а вопрос про jquery.cookie

Есть такой скриптик смены телефона взависимости от города.
Скрипт работает, но после перезагрузки значение слетает, может быть пишу не в ту ветку, но прошу помощи. Ссылка на сайт
<script type="text/javascript">
$(document).ready(function(){
  $('.city_item').click(function(){ 
    $.cookie('city', $(this).text()); 
    var city = $.cookie("city");  
    if ( 
      city == "Рязань"
    )
    {
      $('.phoneblock').text('8 800-666-55-55');
      $('.city').text('Рязань');
    };
	if ( 
      city == "Москва"
    )
    {
      $('.phoneblock').text('8 800-400-34-34');
       $('.city').text('Москва');
    }
     
  }); 
});
</script>
Jado
26 марта 2015, 14:49
modx.pro
1
1 558
0

Организация рутины при свежей установке modx.

Хочу поделиться скриптами для организации рутины при свежей установке и настройке сайта на modx, как раз проскочил вопрос в сообществе.

Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Abu
Abu
23 марта 2015, 23:29
modx.pro
42
5 667
+11

TvTable - таблица

Добрый день! Понадобилась мне тут табличка в виде Тв-параметра, в которой можно менять не только кол-во строк, но и столбцов. Поэтому migx не подходит (
В общем, было найдено решение, но как оказалось оно для EVO =(



В итоге взяла его за основу и переписала.
yani
02 марта 2015, 08:34
modx.pro
39
16 314
+14

Алфавитный рубрикатор для ресурсов Modx Revo.

Результат работы тут: lab.nikann.ru/catalog#abc
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
G@G
G@G
18 февраля 2015, 09:40
modx.pro
26
4 365
+5

Как сделать условие OR модификаторами?

Есть 2 тв-шки: [[*gallery]] и [[*text]]
Как сделать условие, чтобы проверялись сразу оба параметра?
Что-то типа такого:
[[*gallery:or=`[[*text]]`:empty=`Пусто`]]
То есть выводить текст только если оба параметра пустые.
Василий Столейков
02 февраля 2015, 18:28
modx.pro
4
800
0

Автоматическая генерация оглавления страницы

На днях появился вопрос об автоматическом создании оглавления статьи, а позже где-то проскочил комментарий, мол неплохо бы такое добавить на docs.modx.pro — там же все документы хорошо структурированы.

И действительно, а почему бы не добавить? Выделил полчасика и набросал сниппет makeContents, который генерирует вот такое оглавление:
Василий Наумкин
09 декабря 2014, 08:57
modx.pro
42
5 919
+3

Ловля ошибок при отправке почты с сайта

Добрый день, сообщество!

Как многим известно, у объекта modUser есть замечательный метод modUser::sendEmail, который позволяет отправлять пользователю письмо буквально в одну строчку. Не надо вручную инициировать службу modPHPMailer, выяснять email пользователя — всё это уже сделали за Вас разработчики MODX в этом методе.

Но есть один недостаток — метод возвращает только булево значение.
Антон Фомичёв
18 июля 2014, 07:57
modx.pro
13
3 323
+10

Новый тест скорости хостинга для MODX

Предлагаю новый простой тест хостинга, путем заполнения 10 000 INLINE чанков случайными значениями при помощи pdoTools.

Тест работает напрямую через MODX_API_MODE. Никакой лишней нагрузки нет, чистый рендер по всем правилам.

На нашем хостинге тест показывает примерно такие цифры:
0.0002420: Created inline chunk
0.0749481: Total time
3 145 728: Memory usage
Тестовый скрипт:
<?php
define('MODX_API_MODE', true);
require 'index.php';

$pdo = $modx->getService('pdoTools');
$tpl = '@INLINE <p>[[+val1]] - [[+val2]] - [[+val3]]</p>';

$output = '';
for ($i = 0; $i <= 10000; $i ++) {
	$array = array('val1' => rand(), 'val2' => rand(), 'val3' => rand());
	$output .= $pdo->getChunk($tpl, $array);
}

echo '<pre>'; print_r($pdo->getTime()); echo '</pre>';
echo $output;

Код нужно скопипастить в файл /render.php, который вы создадите прямо в корне сайта. Потом вызываете файл из браузера и смотрите цифры.

Пишите в комментариях, что у вас получается. Желательно также указать, какой у вас хостинг, и сколько платите в месяц — мне очень интересно.

Готовая таблица с упорядоченными данными из комментариев к этой заметке.

Обновлено 25.04.2016

Добавили PHP 7.0 на modhost.pro. Вот тест скорости для него:
0.0001070: Created inline chunk with name "d9ad1bcdc5a530ed83598e35a1357e51"
0.0328310: Total time
2 097 152: Memory usage
Минимум в 2 раза быстрее чем PHP 5.
Василий Наумкин
10 июля 2014, 10:07
modx.pro
13
21 229
+1

Расширенные поля пользователей

Небольшая пошаговая инструкция, как научиться сохранять любые интересующие данные о юзере в специальное поле extended.

На самом деле, это никакой не секрет. Во многих объектах MODX есть специальное поле типа JSON, которое хранится в БД как текст, например, properties у modResource и extended у modUserProfile.

При работе с объектами xPDO, JSON текст из этих полей превращается в массивы. То есть, общий принцип выглядит так:
// id нужного пользователя
$user_id = 15;
// Получаем объект modUser
if ($user = $modx->getObject('modUser', $user_id)) {
	// Получаем связанный с ним профиль пользователя
	if ($profile = $user->getOne('Profile')) {
		// Получаем специальное поле extended
		$extended = $profile->get('extended');
		// Добавляем новое значение
		$extended['mykey'] = 'mydata';
		// И сохраняем обратно в профиль
		$profile->set('extended', $extended);
		$profile->save();
	}
}
Самое приятное, что эти данные вы можете не только просмотреть на странице пользователя, но и изменить.
Василий Наумкин
07 апреля 2014, 11:00
modx.pro
40
16 436
+11

Сортировка в каталоге minishop2 и вывод товаров.

Добрый день.
Ребята подскажите кто как решал данный вопрос?
Требуется вывести главный каталог всех товаров, подобно их расположению в дереве MODX.
Володя
28 февраля 2014, 08:58
modx.pro
6
7 480
0