Как сформировать ссылку на редактирование записи? - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Как сформировать ссылку на редактирование записи?

#1 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 13 Апрель 2019 - 10:19

Здравствуйте!

Не могу понять, в каком момент я ошибаюсь. Вот такой код в шаблоне categoryTable:

{{foreach $groups as $group}}
{{$group_find = \IPS\Db::i()->select( '*', 'cms_custom_database_6', array( 'field_32=?', $group->id ) )->first();}}
{$group_find->url('edit')}
{{endforeach}}

Я подглядел как работает шаблон recordRow и там вроде тоже массив rows в row.

Получаю ошибку:

Call to a member function url() on array
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 545
  • IPB version:3.1.x
 

Отправлено 13 Апрель 2019 - 10:50

$group_find в вашем случае просто результирующий массив данных из бд. А row там явно не массив, а объект. Если хотите использовать этот метод нужно создать объект класса которым является row, или просто вручную составить ссылку на основе ваших данных, к примеру ...do=edit&id={$group_find["id"]}
0

#3 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 13 Апрель 2019 - 12:39

Блин, хотел сделать по красоте все, но до ООП наскоком взять не получилось еще. Буду формировать ссылку по старинке. Спасибо!
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 545
  • IPB version:3.1.x
 

Отправлено 13 Апрель 2019 - 20:18

{{$row = \IPS\Db::i()->select( '*', 'cms_custom_database_6', array( 'field_32=?', $group->id ) )->first();}}
{{$item = \IPS\cms\Records6::constructFromData( $row );}}
{$item->url('edit')}

Только помните, что метод ->first() выбрасывает исключение если результат вернул ноль строк. Если его не перехватить, выполнение скрипта закончится с ошибкой.
0

#5 Пользователь не на сайте   vinegredz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 204
  • Регистрация: 17-Январь 14
  • Репутация: 3
  • IPB version:3.4.x
 

Отправлено 14 Апрель 2019 - 19:08

Работает идеально! Большое спасибо!

А вот про конструкции вроде \IPS\cms\Records6::constructFromData написано в оф. документации для девелоперов?
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 446
  • Регистрация: 20-Март 09
  • Репутация: 2 545
  • IPB version:3.1.x
 

Отправлено 14 Апрель 2019 - 19:27

Что-то там есть. Называется это Active Records
https://invisioncomm...ve-records-r22/
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна