A

Antuanett

+17
Репутация
6
Рейтинг
#1 Проблема вывода пользователей с сортировкой по полю связанной таблицы 27 марта 2015 в 17:09
На странице список пользователей есть ссылки на наборы пользователей "Новые", "Онлайн", "Рейтинг" и т.д. Хочется добавить свой набор. В БД создана отдельная таблица с двумя полями — userID и points. Нужно сортировать пользователей по points в порядке убывания. Для этого джойним дополнительную таблицу в model.php:
  1.  
  2. $this->select("IFNULL(wc.user_stat, '')", 'points');
  3. $this->joinLeft('user_stat', 'wc', 'wc.id = i.id');
  4.  
Проверил дампом — эти данные в шаблон списка пользователей попадают.
Далее идём в users/frontend.php и добавляем в public function getDatasets() :
  1.  
  2. $datasets['points'] = array(
  3. 'name' => 'points',
  4. 'title' => 'Очки',
  5. 'order' => array('points', 'desc')
  6. );
  7.  
И… ничего не работает… белый экран. По-видимому на стадии фильтрации и сортировки отсутствует нужные данные. Прошу совета!
#1 Создание набора контента 27 марта 2015 в 16:07
Вообщем пришлось делать хак:
  1.  
  2. //ХАК - заменяем макрос {userid} на ID текущего юзера, макрос {usernick} на ник текущего юзера
  3. $dstr = json_encode($datasets);
  4. $dstr=str_replace("{userid}", $user->id, $dstr);
  5. $dstr=str_replace("{usernick}", $user->nickname, $dstr);
  6. $datasets=json_decode($dstr,true);
  7. //Конец ХАКа
#2 Создание набора контента 27 марта 2015 в 13:28


Antuanett, что-то мне подсказывает просто наборами через стандартные средства iCMS2 это не решить. Хотя для текстовых полей есть такие условия как «Содержит» или «Начинается на» попробуйте поиграться с ними))

Val

Так и делал, вопрос только один — как описать текущего пользователя, т.е. не константу, а переменную… По идее должен быть макрос, типа {user.id}
#3 Создание набора контента 27 марта 2015 в 12:26
Смотрите. В контенте есть поле текстовое "Соавторы", в нем текстом указываются ники пользователей. Мне хотелось бы создать набор контента, при выборе которого текущий пользователь видел бы список контента, где он является соавтором, т.е. поиск вхождения ника текущего пользователя в текстовом поле. Также, хочется применить тот же набор и в виджетах.
#4 Создание набора контента 27 марта 2015 в 11:57
Друзья! Сам разобраться не смог! Очень нужна помощь! SOS SOS SOS!
#5 Создание набора контента 26 марта 2015 в 00:48
Как говорится — UP! Проблему не решил, запрашиваю помощь!
#6 Создание набора контента 20 марта 2015 в 22:21
Пока ничего не отрыл, буду признателен если кто-нибудь покажет, куда смотреть!
#7 Создание набора контента 18 марта 2015 в 15:45


В фильтре кажется есть перечисленные поля, которые вы используете в типе контента, выберите его кликая по кнопке "Добавить фильтр", или я не так понял ваш вопрос?

frukt

Вы не совсем меня поняли. В контенте есть текстовое поля, которое может содержать ID юзера. Я это поле выбираю в фильтре набора, условие "содержит" а вот что содержит — не знаю… Нужно какой-то макрос прописать, в котором содержится ID текущего пользователя.
#1 Создание набора контента 18 марта 2015 в 00:06
Прошу подсказать как создать набор с фильтром по имени текущего пользователя, содержащемуся в одном из текстовых полей контента?
#8 [ЕСТЬ РЕШЕНИЕ] Проблема в биллинге 12 марта 2015 в 18:56
Поизучал вопрос.
Применение
  1. $billing->changeBalance($mode, $subject_id, $amount, $description);
приводит к правильному результату, т.е. рефералка не начисляется. Прошу разработчиков подтвердить эту ситуацию и поправить либо документацию, либо код.
#1 [ЕСТЬ РЕШЕНИЕ] Проблема в биллинге 12 марта 2015 в 14:38
Есть проблема в биллинге. Пользуюсь:
Пополнение баланса:
  1. $billing->incrementUserBalance($user_id, $amount, $description);
Списание с баланса:
  1. $billing->decrementUserBalance($user_id, $amount, $description);
где $user_id – ID целевого пользователя. Значение $amount в обоих случаях указывается положительным.

В документации сказано, что рефералка при использовании этих функций не начисляется. У меня начисляется. В опциях биллинга стоит "Выплачивать вознаграждения за пополнение баланса рефералом". Прошу прояснить этот момент.
#9 [ЕСТЬ РЕШЕНИЕ] Проблема с хлебными крошками 12 марта 2015 в 00:51


Языковую константу нужно добавить в папку с новым компонентом
system/language/ru/controllers/ВАШ_КОМПОНЕНТ/ваш_компонент.php

Она должна быть такого вида

  1.  
  2. define('LANG_ВАШ_КОМПОНЕНТ_CONTROLLER', 'Имя компонента на русском');
  3.  

Rossoman
ОНО! Гранд мерси!
#10 [ЕСТЬ РЕШЕНИЕ] Проблема с хлебными крошками 11 марта 2015 в 23:18
Можете поподробней? Я только учусь… zst
#1 [ЕСТЬ РЕШЕНИЕ] Проблема с хлебными крошками 11 марта 2015 в 21:31
Что делаю не так в бэкенде?
#11 Ищу туториал по созданию собственного типа поля 9 марта 2015 в 01:27


так ведь это

  1. cmsTemplate::getInstance()->render('путь_к_шаблону', array(параметры));
и ему подобные никто не отменял.

Loadырь

путь как прописывать? и так и сяк — не получается
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.