Евгений Webinmd

Евгений Webinmd

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

[ms2guploader] Загрузка с фронтэнда в ms2Gallery


Небольшое решение на основе ms2form.

Умеет: аплоад драг н дроп, менять местами фотки, удалять фото.
but1head
02 апреля 2016, 01:19
modx.pro
19
14 716
+10

Как я расширил стандартную таблицу пользователей

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

Обычно использую office, который обеспечивает готовый личный кабинет из коробки с минимальными усилиями, он же позволяет сохранять все в базу, пользователей. Но вот беда, полей катастрофически не хватает. Логичным решением было создавать страницы для каждого пользователя, и добавлять сколько угодно TV. Так я и делал, но решил заморочиться и не дублировать страницы, а расширить таблицу пользователей и работать с ней напрямую, как с ресурсом.

Вот что я сделал:
Николай Савин
30 марта 2016, 14:48
modx.pro
25
5 259
+6

[modImporter] 1.3

Приветствую сообщество! Давненько не было новостей про modImporter, поэтому выкладываю небольшой обзор последних изменений.

Лев Вербицкий
25 марта 2016, 11:12
modx.pro
4
2 057
+7

cityFields. Города, информация и цены для каждого

Представляю вам небольшой полезный компонент под названием cityFields. На данный момент его возможности скромны:
  1. Добавление списка городов.
  2. Добавление уникальной информации для каждого города.
  3. Управление ценами товаров miniShop2 для каждого города.

Список городов и управление им

У компонента имеется страница, на которой вы можете управлять списком городов, добавлять, изменять и удалять их, а также включать и отключать города.
Сергей Фещуков
19 марта 2016, 14:17
modx.pro
5
11 897
+5

Скрипт спамминга в вк группы

В общем ситуация такая, завел я свой сервер RUST. И покопавшись немного в дебрях ВК понял, что есть группы до потолочка забитые постами о серверах RUST. Как честный гражданин решил немного попиарить свой сервер и покидал посты на стенку сообществ. Через время я понял что это достаточно скучное дело. И реши как всегда решить автоатизировать, накидав небольшой скриптец постинга в кучу групп вк. Сказано, сделано. А потом подумал, а почему бы не поделиться своей наработкой с другими modx разработчиками? В общем держите скрипт сниппета postingVk (в приницпе можно постить и на группу сообщества).
Павел Карелин
18 марта 2016, 21:37
modx.pro
17
7 266
+10

Cron и работа с modx

Приветствую!
Задача сама простая, есть параметр 'counterQuote'. Нужно получать его значение и увеличивать на 1 каждый день. Крон работает норм, отчеты о работе приходят, в них весь «index.php», но нужного результата нет.

//Подключение
require '---- /public_html/index.php';

//Получение параметра и увеличение на 1
$counterQuote = $modx->getObject('modSystemSetting',array('key' => 'counterQuote'));
$counterQuote->set('value',$counterQuote->get('value')+1);
$counterQuote->save();

//Обновление кеша
$cacheRefreshOptions =  array( 'system_settings' => array() );
$modx->cacheManager->refresh($cacheRefreshOptions);
Ошибок не выдает, но и не увеличивается. Как сниппет в модх запускать, то все здорово.
Что еще надо сделать, чтобы заработало?
Константин Ильин
18 марта 2016, 17:39
modx.pro
3
3 682
+1

[tvSuperSelect] 1.1.1 с новыми сниппетами для вывода



В новой версии tvSuperSelect у нас появилось 3 сниппета для вывода ресурсов/тикетов с тегами и списка тегов ресурса.
Павел Гвоздь
17 марта 2016, 11:10
modx.pro
14
5 490
+10

[tvSuperSelect] Тип TV: автозаполняемый список из ms2, для реализации тегов


Это такой тип ТВ поля, в который можно вбивать значения «на ходу». Другими словами, мы не указываем «Возможные значения» при редактировании ТВ, а вбиваем эти значения в это поле на странице редактирования ресурса.

Очень удобно создавать из такого поля «Теги» на сайте, потому что помимо добавления значений «на ходу», у нас есть возможность выбрать уже используемые значения из других ресурсов.
Павел Гвоздь
03 февраля 2016, 18:52
modx.pro
23
17 253
+11

Перенос фото товаров из TV в галерею miniShop2

Постановка задачи: был интернет магазин, где товары — обычные ресурсы, а изображения — TV поля (в моем примере 5 штук). Необходимо сделать товары типа msProduct, а изображения перенести в стандартную галерею miniShop2.

Небольшой скрипт, решающий вторую часть задачи, ниже. (первая часть задачи решается примерно так)

Что он делает? Скрипт берет все записи с типом msProduct, и копирует изображения из TV в галерею miniShop2.

Надеюсь кому-нибудь будет полезным (скрипт не 100% универсальный, подгоняйте под себя! и да, я запускаю его из Console, если у вас просто php файл, то необходимо сначала авторизоваться в админке через API).
Наумов Алексей
03 февраля 2016, 12:05
modx.pro
11
3 969
+5

Скрипт импорта CSV в базу данных в формате JSON

Доброго времени суток!
Написал скрипт, который будет запускаться по крону, для обновления информации на страницах из
CSV файлов, которые располагаются на других сайтах.

Скрипт вроде работает, но хочется убедиться, что всё правильно с точки зрения безопасности/оптимизации и прочего. Поэтому обращаюсь к сообществу с целью исправления ошибок, если таковые имеются.

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/core/config/config.inc.php';
require_once MODX_BASE_PATH . 'index.php';

$q = $modx->newQuery('modResource');
$q->where(array('parent' => 6,'published'=>1,'csvlink:!=' => ''));
$q->select('id,csvlink');
if ($q->prepare() && $q->stmt->execute()) {
    while ($rowss = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $array = array($rowss['id'] => $rowss['csvlink']);
	    if (($handle = fopen($rowss['csvlink'], 'r')) === false) {
		    die('Error opening file');
    	}
	$headers = fgetcsv($handle, 0, ';');
    	$promo = array();
	    while ($row = fgetcsv($handle, 0, ';')) {
		    $promo[] = array_combine($headers, $row); // $promo[$row['0']] для выноса ID в Индекс массива
    	}
	fclose($handle);
    	$promo_json = json_encode($promo);

	$resource = $modx->getObject('modResource', $rowss['id']);
    	$resource->set('promo_json', $promo_json);
	$resource->save();
	$modx->cacheManager->refresh();
    }
};
Klike
02 февраля 2016, 13:35
modx.pro
4
1 282
0