Ганин Роман

Ганин Роман

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

Отсутствует связь между кастомными таблицами.

Всем доброго времени суток! Давеча столкнулся с такой проблемой.
Не работает метод getMany(). Уже не знаю что и думать. Буду очень признателен за любую помощь. Спасибо!
xml базы:
<?xml version="1.0" encoding="UTF-8"?>
<model package="geolocation" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
	<object class="Areas" table="areas" extends="xPDOSimpleObject">
		<field key="town_fk" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" />
		<field key="title" dbtype="varchar" precision="255" phptype="string" null="false" />
		<field key="is_default" dbtype="enum" precision="'1','0'" phptype="string" null="false" default="0" />
		<aggregate alias="Towns" class="Towns" local="town_fk" foreign="id" cardinality="many" owner="foreign" />
		<composite alias="Streets" class="Streets" local="id" foreign="area_fk" cardinality="one" owner="owner" />
	</object>
	<object class="Regions" table="regions" extends="xPDOSimpleObject">
		<field key="title" dbtype="varchar" precision="255" phptype="string" null="false" />
		<composite alias="Towns" class="Towns" local="id" foreign="region_fk" cardinality="one" owner="owner" />
	</object>
	<object class="Streets" table="streets" extends="xPDOSimpleObject">
		<field key="area_fk" dbtype="int" precision="11" phptype="integer" null="false" />
		<field key="title" dbtype="varchar" precision="255" phptype="string" null="false" />
		<field key="adress" dbtype="varchar" precision="255" phptype="string" null="false" />
		<field key="phonenumber" dbtype="char" precision="12" phptype="string" null="false" />
		<field key="is_default" dbtype="enum" precision="'1','0'" phptype="string" null="false" default="0" />
		<field key="in_map" dbtype="text" phptype="string" null="false" />
		<aggregate alias="Areas" class="Areas" local="area_fk" foreign="id" cardinality="many" owner="foreign" />
	</object>
	<object class="Towns" table="towns" extends="xPDOSimpleObject">
		<field key="title" dbtype="char" precision="20" phptype="string" null="false" />
		<field key="region_fk" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="false" />
		<composite alias="Areas" class="Areas" local="id" foreign="town_fk" cardinality="one" owner="owner" />
		<aggregate alias="Regions" class="Regions" local="region_fk" foreign="id" cardinality="many" owner="foreign" />
	</object>
</model>
Александр
20 сентября 2015, 08:47
modx.pro
1
1 632
0

Тикеты с комментами в личном кабинете

Реализовал личный кабинет с помощью Login по этой статье ilyaut.ru/tips-and-tricks/authorization-registration-personal-cabinet/

Далее необходимо, чтобы пользователь зайдя в кабинет мог оставить тикет, а админ сайта мог его прокоментировать. Соответственно этот тикет и коменты админа должен видеть только этот пользователь и админ. Подскажите, с помощью чего это можно реализовать?

Пробую через Tickets, тикеты прикрутил, коменты прикрутил, но получается, что когда в личном кабинете через [[!TicketComments?]] оставляешь комментарии, отображаются комментарии всех пользователей. Как починить или по другому как лучше сделать? Спасибо.
Vlad
19 сентября 2015, 15:12
modx.pro
6
2 187
0

Проблемы со свойствами товаров

Обновил minishop2 до 2.3.0 (пробовал alpha2 и alpha1), Revo 2.4.0. В последние версии минишопа внедрили более удобное добавление свойств товара, нежели через систему плагинов для расширения свойств товара. Если закрыть глаза на неудобства и хотелки, про которые уже писал, то проявилось пара глюков:

1) Вызываю в чанке товара, который выводится через msProducts, [[+ключ_характеристики]], точнее два разных. В итоге вместо значения одного свойства выводится значение другого, причём у порядка 2% товаров, а у остальных всё правильно. Если выводить через msOptions, то значения правильные.
Но в документации было написано, что для страницы товара надо использовать msProductOptions (который у меня вообще выдаёт ошибку), а для msProducts достаточно плейсхолдера с ключом.

2) Сбрасывается включение опции для категорий. Их и так муторно проставлять все вручную, а в какой-то момент у меня они сбросились для половины категорий. Проставил заново, через некоторое время сбросилось для оставшейся части. Между этими манипуляциями только обновляли вручную индекс mSearch2 и импортировали товары через csv.
Алексей Андреев
15 сентября 2015, 08:54
modx.pro
2
1 174
0

[modExtra] Update таблиц своего компонента

Добрый день!
Все мы знаем, что MODX прекрасен мощью решений с помощью компонентов. Я, например, всегда отдаю заказчику сайт в виде компонента, содержащего нужные элементы, зависимости от других компонентов, инициализацию нужных опций и т.д. В этом мне всегда помогал modExtra.
Но вот в один прекрасный момент я задумался, как сделать пользовательские таблицы в своём компоненте таким образом, чтобы при апдейте компонента они были способны расширяться, да и вообще поддерживаться в актуальном состоянии.
Итак задача:
  • У нас есть файл схемы mycomponent.mysql.schema.xml, который поставляется вместе с компонентом (или его новой версией) и содержит актуальную информацию о структуре пользовательских таблиц.
  • У нас есть БД в которой может не быть наших таблиц (установка с нуля), а могут быть (как правильной, так и неправильной структуры).
Цель: добиться идентичности схемы и реальных таблиц для нормальной работы компонента.
Михаил Малых
01 сентября 2015, 10:53
modx.pro
16
3 355
+13

Как не надо расширять MODX-процессоры

В MODX-2.4.0 появился новый процессор updatefromelement.class.php by Argnist, пришедший на замену обычному процессору updatefromelement.php. Заменять non-classed процессоры конечно дело хорошее, но делать надо это крайне осторожно и обдуманно.

Сразу уточню, что этот процессор используется для обновления параметров элементов (типа шаблонов, сниппетов и т.п.)
Fi1osof
22 августа 2015, 14:18
modx.pro
8
4 836
+10

Получение tv-параметра c помощью fenom

Здравствуйте!
Столкнулся с проблемой: в шаблоне документа синтаксис fenom не возвращает tv-параметр.
<p>[[*newsTestTv]]</p>
<p>{$_modx->resource.newsTestTv}</p>
В первом случае, стандартный синтаксис возвращает корректное значение параметра.
Во втором случае — возвращается «Array».
Пожалуйста, помогите советом.

P.s.: При вызове сниппетов никаких проблем подружить tv-параметры и феном не возникло, благодаря документации Василия.

UPD: Методом тыка было выяснено, что {$_modx->resource.tvName} возвращает массив, где первым элементом идет ключ — название tv-параметра, а вторым — его значение.
<p>[[*newsTestTv]]</p>
<p>{$_modx->resource.newsTestTv[1]}</p>
Два вызова, возвращающие одинаковый результат.
Денис Райх
21 августа 2015, 04:16
modx.pro
3
10 897
+1

[Анонс] Цикл статей о Gitify



Рад приветствовать, друзья.

Во многих чатах я много говорил и рассказывал об очень удобном инструменте для работы с MODX – Gitify.
И всегда у меня просили рассказать о том, как им пользоваться, что это за зверь такой и как с ним вообще работать. А самое важное – какую пользу он может принести?

На англоязычных ресурсах уже есть пару заметок о нем, а на русском, к сожалению, нет. То ли никому он не нужен, то ли просто никто еще не понял, в чем его польза. Я решил ситуацию исправить.

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

План действий сейчас такой (под катом).

Іван Клімчук
12 июля 2015, 17:33
modx.pro
7
5 040
+14

Создание мультисайта на MODX REVO

Лучше поздно, чем никогда. Как и обещал https://modx.pro/help/5194/ пишу про создание мультисайта на MODX REVO. Выкладываю в блог Готовые решения, т.к. в статье есть чуть-чуть кода.

Смысл всей затеи — упростить поддержку сайтов.

Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации

Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.

В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.

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

Иван Чуваев
06 июля 2015, 02:48
modx.pro
41
21 538
+9

Страница пользователя

Нужно сделать страницу пользователя, но без создания ресурса, т.е например есть user1, заходим на страницу www.mysite.com/user1 и видим его данные.

На данный момент все решил «велосипедом» который мне не очень то нравится:

В настройках поставил, чтобы modx в случае когда страница не найдена (404), делал редирект на один общий ресурс для всех пользователей, а в него «засунул» сниппет который проверяет, есть ли такой пользователь в списке юзеров, если есть то показывает о нем данные, если нет то на 404 отправляет, все работает и без проблем, но само по себе это не нравится (: Может кто сталкивался, или адекватное решение знает?
Никита
27 июня 2015, 16:17
modx.pro
2
1 190
0

Назначить товару дополнительную категорию

Всем привет.
Подскажите, как через API назначить товару дополнительную категорию?

Объект создаю так:
$resourse = $modx->newObject(«msProduct»);
$resourse->set('id', $row['id']);

$resourse->set('parent', $row['catalog_id']);
$resourse->save();
Слава
27 июня 2015, 09:14
modx.pro
3
2 162
0