Топики пользователя «createit»

[Revo] Добавление статей в Articles через Frontend. Часть 2, Служебные и полезные страницы

Продолжаем повествование…

Начало: Добавление статей в Articles через Frontend. Часть 1, Написание постов.

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

Во второй части мы попробуем создать ряд служебных и полезных страниц (см. картинку ниже):
1. Список черновиков
2. Просмотр черновика
3. Список постов пользователя





( Читать дальше )

[Revo] Добавление статей в Articles через Frontend. Часть 1, Написание постов.

Как известно в MODx Revolution имеется такое дополнение как Articles (документация), предназначенное для ведения блогов.

Введение в проблему


В «базовой» комплектации общий принцип работы выглядит так: администратор сайта создает у себя раздел «Мой блог» с типом Resource = Articles. При заходе в этот ресурс в админке он получает не стандартный интерфейс MODx для редактирования документов, а интерфейс для управления постами в блогах.

Возможности Articles весьма широки: посты, комментарии к ним (через Quip), архивы по месяцах/годам (Archivist).

Но многие из нас в настоящее время под понятием Блоги привыкли видеть кое-что иное: возможность зарегистрированным пользователям писать в эти самые блоги свои посты. Естественное дать доступа простым смертным пользователям в админку с этой целью мы не можем. Получается что Articles не позволяет решить такую задачу. Что ж, исправим это.



( Читать дальше )

[Revo] ReturnLink: Ссылка на родительский документ

Приветствую всех!

Стояла задача вывести после текста статьи ссылку:
Назад к <a href="[[~id родителя]]">имя родителя</a>


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



Т.е. для новости «О порядке приватизации...» необходимо показать ссылку на ресурс «Новости», а не на «Янв» (т.к. эта страница не опубликована).

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

UPD. По итогам работы сделал дополнение ReturnLink: modx.com/extras/package/returnlink

Принцип работы:
1. если у ресурса есть опубликованный родитель, формируется ссылка на него. 2. если родитель не опубликован, то формируется ссылка на родителя родителя, и т.д., пока не дойдем до главной страницы.

[Revo] Дата регистрации пользователя

Вот колонки таблицы modx_users (пользователи):

id, username, password, cachepwd, class_key, active, remote_key, remote_data, hash_class, salt, primary_group, session_stale, sudo

Вот таблица modx_user_attributes (профиль):

id, internalKey, fullname, email, phone, mobilephone, blocked, blockeduntil, blockedafter, logincount, lastlogin, failedlogincount, sessionid, dob, gender, address, country, city, state, zip, fax, photo, comment, website, extended

А почему среди них нет даты регистрации?

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

Ваши мысли?

[Revo] Куча новостей

И я займу полезным народ, а то расслабились, флудить давай)))

Задача: добавить на сайт около 1500 новостей (импортирую напрямую в базу). Ну и плюс будут каждый день добавлять 1-4 новости.

Посмотрел компонент modx.com/extras/package/uncosnews, но он не подходит из-за визуального редактора без возможности вставки картинок.

Решил пихать в дерево ресурсов вот так:
Новости
- 2009
  - январь
    - новость 1
    - новость 2
  - февраль
    - новость 3
    - новость 4
......
- 2012
  - январь
    - новость 1000
    - новость 1001
  - февраль
    - новость 1002
    - новость 1003


Внимание, вопрос. Если выводить через getResources, он вообще не умрет?)
Выводить надо по схеме 10 последних (сортировка по publishedon) и весь список в связке с getPage.

[Revo] Обновить несколько строк в БД

Привет!

А не подскажите ли каким образом мне обновить несколько строк в БД одним запросом?

Что имею: комментарии на базе Quip и авторизованных пользователей, которые их пишут.

Quip как известно может работать как с авторизованными так и не авторизованными пользователями и для этого вместе с каждым комментарием хранит fullname, email, website пользователя, который его оставил.

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

В общем нужно запустить запрос:
UPDATE 
          `modx_quip_comments`
  SET 
          `name` = 'Петя', 
          `email`='email Пети', 
          `website`='сайт Пети'
  WHERE 
          `author`='id Пети/Вани'


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

Встреча, посвященная MODx, в рамках User-group GetDev.Net

На прошедших выходных (16.04.2012) состоялась встреча User-группы GetDev.Net, на которой собрались программисты г. Тулы.

На ней выступал я собственной персоной с 2-х часовым рассказом про MODx Revolution. В ходе встречи гости ознакомились с основами всеми нами любимой CMS.

Надеюсь сообщество разработчиков, использующих MODx в качестве платформы для создания сайтов, пополнится новыми членами после проведенной встречи!

Двигаем MODx в массы!

Информация о встрече здесь: getdev.net/Event/Modx-cms

[Revo] "Зачистка" установки

Приветствую жителей! =)

Вот делаю бэкап сайта. На сайте 50 страниц, а бэкап весит в архиве почти 100 Мб.

Как «подчистить» установку MODx Revolution? Подозреваю что это из-за хранения всех версий установленных пакетов…

[Revo] Chrome, тег base, и POST запросы к сайту

Всем доброго!

Очень интересную вещь наблюдаю…
На моем сайте fishspace.ru есть некий функционал для пользователей:
— блоги
— комментарии
Зарегистрированные пользователи там могут писать тексты и собственно отправлять их POST запросом на сервер.

И все хорошо работает, до тех пор, пока я не попробовал сделать это в Chrome.
Допустим такой сценарий:
1. Логинимся, заходим на любой пост и пишем комментарий.
2. Жмем кнопку «Предварительный просмотр» — идет POST запрос, обрабатывается, смотрим предварительный просмотр.
3. Жмем кнопку «Опубликовать», POST запрос… и он ведет не на эту же страницу (/community/equipment/obzory/195/ например), а на /community/equipment/obzory/195/community/equipment/obzory/195/, т.е. Chrome игнорирует наличие тега «base href» на странице и генерирует неверные ссылки.

То же самое происходит и при написании поста. Но, самое забавное, не всегда, через раз.

Какие то мысли есть по этому поводу?

Если у вас есть 3 минуты — пожалуйста, попробуйте добавить любой коммент тут: fishspace.ru/community/equipment/obzory/195/, я потом подчищу этот пост. Войти на сайт можно через аккаунт соц сети. Потом удалю вашу регистрацию. Спасибо за внимание.

[Revo] Вышел MODx Revolution 2.2.1

Список обновлений тут:

https://raw.github.com/modxcms/revolution/v2.2.1-pl/core/docs/changelog.txt

Список весьма большой, исправления носят характер фиксов, принципиально нового не заметил, но мелочевки хватает.

Я пока не обновлялся, страшно =)
Кто нибудь пробовал?