Сергей

Сергей

С нами с 11 мая 2015; Место в рейтинге пользователей: #359

Партиционирование в MySQL

Кто-то использовал в своей работе партиционирование таблиц MySQL?
Если да, то стоит ли использовать его для MODX? Например для таблицы контента или для таблицы тв-шек?
Не помешает ли это работе MODX? Чем это может быть чревато?
Василий Столейков
07 января 2016, 18:18
modx.pro
4
4 306
0

Выборка ресурсов по дате

Добрый день!

Покажите, как мне вывести ID тех документов, который опубликованы позднее указанный даты?

Без даты получаю таким образом:

$resources = $modx->getCollection('modResource');
		$where = array(
			'parent' => 9
			,'published' => 1
		//Чую, тут косяк))	,'publishedon' >= $dates
			);
		$resources = $modx->getCollection('modResource',$where);
		$output = '';
		foreach ($resources as $k => $res) {
		  $output .= $res->get('id');
		}
		return $output;
Дату к примеру получаю в формате ГГГГ-ММ-ДД. Перевести ее в UNIX тоже не проблема. В БД ModX все храниться как я понял в UNIX?
Андрей
02 января 2016, 16:48
modx.pro
3
2 345
0

Соединяем EasyComm и mFilter2

Всем привет, и сразу к делу (кстати пишу первый раз тут, если будут ошибки — исправим).

Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.

Добавляем в вызов mFilter2 следующий код:

&loadModels=`easycomm`
&where=`{"class_key":"msProduct"}`
&leftJoin=`{
	"ecThread": {
		"class": "ecThread",
		"on": "msProduct.id = ecThread.resource"
	}
}`

&select=`{
	"msProduct": "*",
	"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}`
Павел
25 декабря 2015, 10:34
modx.pro
34
5 130
+14

[customExtra] Создание кастомных объектов

Периодически мне приходится реализовывать на сайтах клиентов какой-то уникальный функционал. Часто требуется сохранять информацию в базу данных, выводить её оттуда, реализовывать возможность управления из админки. Раньше для этого приходилось писать кастомный компонент.

А значит, надо написать схему, сгенерировать модель, оформить интерфейс, написать процессоры и прочее, и прочее… Для начинающих разработчиков этот метод достаточно сложен. А мне, например, каждый раз та-а-ак лень это делать.

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

До тех пор, пока мне не понадобилось иметь два таких кастомных объекта…
Илья Уткин
22 декабря 2015, 01:21
modx.pro
19
7 487
+16

[imgArea] Удобная визуальная расстановка областей (map, area) на изображениях


Удобная визуальная расстановка областей (map, area) на изображениях (на схеме, например). Вывод изображения с этими подсвеченными областями и другими плюшками.
Павел Гвоздь
19 декабря 2015, 20:23
modx.pro
13
4 776
+18

Загрузка материала в модальное окно

Добрый день!
Подскажите, что-то не могу разобраться. как сделать так, чтобы определённые материал сайта подгружался в модальном окне. Хочу сделать вывод новостей. Сами анонсы как обычно, а вот пр нажатии по кнопке «Подробнее» хочу, чтобы вылезало модальное окно, а в нем сам материал необходимой мне новости отображался.
Не пойму как надо сделать вызов AjaxSnippet, чтобы анонсы подгружались а по клику по ссылке — в модальном окне грузилось все остальное.
Андрей
19 декабря 2015, 19:05
modx.pro
13
21 641
0

[modNewYear] 1.0.0

Решил накидать какой-нибудь новогодний компонент.
Получилась гирлянда на всех страницах фронтенда =).
Лев Вербицкий
11 декабря 2015, 13:25
modx.pro
4
2 141
+6

modResourceField. Упрощаем работу с TV часть 2.

Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.

Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.

Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Fi1osof
08 декабря 2015, 15:28
modx.pro
12
3 816
+13

АнтиСео в MODX 2.4.0

Доброго времени суток, господа
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).

В результате чего контент сайта целиком дублируется в глазах поисковика и вы уныло катитесь вниз в выдаче.
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.

К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.

Василий предложил использовать плагин

<?php
if ($modx->event->name == 'OnHandleRequest') {
	if (!empty($_GET['id'])) {
		$id = (int)$_GET['id'];
		if (!$modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
			$id = $modx->getOption('error_page', null, $modx->getOption('site_start'));
		}
		$modx->sendRedirect($modx->makeUrl($id));
	}
}
На первый взгляд он закрывает эту дырку, но на практике получилось, что он ресолвит id и для страниц бэкенда, что убило его функционал.
Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).

Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?
SaLacoste
03 декабря 2015, 22:39
modx.pro
11
7 058
+1

Добавление тегов с фронта через форму Tickets

Здравствуйте. Не судите строго, пишу скорее как памятку для себя, но может быть кому пригодится.
Простое решение для добавления тегов с фронта в форму Tickets.
Борис И
28 ноября 2015, 06:06
modx.pro
21
3 286
+4