
dwd
Речь в видео идет о компоненте "Вкладки", частью которого и является данное поле. Меня попросили прокомментировать этот пост — я подумал и предложил готовое решение.все хорошо.
Только я иду пошагово вслед за пояснениями видео, в типе контента создаю поле, и у меня нет такого типа поля как "фильтр контента".
Что не так?
Я не совсем понял что общего между компонентом "Вкладки" и подобным списком кроме того, что при переходе по ссылке в списке должна быть такая же фильтрация записей как и во "Вкладках". Суть у "Вкладок" та же, но формат вывода другой. Именно такое визуальное представление записи контента невозможно организовать ни стандартными средствами Инстанта,Уважаемые гуру, можно ли используя стандартные средства и компонент "Вкладки + Автосвязи" привести к такому виду (как в Кинопоиске), где названием ссылки было бы значение, заданное в поле для "выборки"? И возможно ли сделать ссылку на список записей по выбранному полю и как-то вывести список на отдельной странице?
Потому, что данная CMS так устроена, что работать с БД может только модель. Методы filterEqual, getItem и т.д. это методы самой модели. Использовать их можно только создав экземпляр класса моделиНе понятно только почему для самостоятельного виджета нужно подключать модель какого-то компонента.
$model = cmsCore::getModel('content');
$model->нужный метод
Для начала вкллючить отладку в настройках сайта и вместо этой ереси писать реальную ошибку. 503 Service Unavailable это ни о чем.вываливается 503 Service Unavailable
1. Если я не ошибаюсь все, что он там распределяет не индексируется ни разу. Вот все, что вы найдете в теле страницы про города:Мапс сам всё прекрасно распределяет. Удалите города из категорий.
<a class="ajaxlink ajax-modal" href="/places/city_select" title="Выбрать город">Москва</a>
# Подключаем модель компонента. Для запросов в БД неважно какого поэтому берем модель компонента content $model = cmsCore::getModel('content'); #Составляем запрос в БД $model->filterEqual('название поля таблицы', 'искомое значение')->filterEqual('название поля таблицы 2', 'искомое значение 2'); # делаем запрос в БД и записываем результат в переменную $result, варианты на выбор: $result = $model->get('имя таблицы');// получить все записи с этими параметрами $result = $model->getItem('имя таблицы');// получить 1 запись с этими параметрами $result = $model->getFieldFiltered('имя таблицы', 'имя нужного поля');// получить значение конкретного поля
Мою мысль вижу вы так и не поняли, но за ответ спасибо. То что я хотел знать в нем прозвучало.Правильной будет любая формула, дающая одинаковый хэш для двух одинаковых адресов.
md5( страна + город + улица + дом )
Хэш от адреса. Неважно как именно его формировать (можно просто md5(город + улица + дом)), главное чтобы для двух объектов по одному адресу (до дома) этот хэш был одинаковым. Он используется как индекс при группировке объектов по адресам.
Все-таки хотелось бы услышать правильную формулу просчета хэша от разработчика. Ведь если считать хэш "неважно как", то потом при ручном добавлении объектов хэши(родной и посчитанный "неважно как") будут отличаться.
Вот вам как вариант:
Timmy,
Правильно понимаете.
Но есть такая мысль, что костыль можно сделать никелированным и продвинутым.
То есть хук, который при добавлении нужного типа контента будет апдейтить слаг сгенерированным нужным значением.
1. создаем болванку нового компонента
2. создаем в нем хук content_after_add
3. в него вставляем
$this->model->update('con_'.$item['ctype_name'], $item['id'], $item);
Именно так. Лучше искать другие решения. И дело тут не в редакторе, а самой обработке текста в момента записи в БД и чтения из БД.или не ломать голову?
и вроде там и проходит список полей. не что то не понял как добраться до
Код PHP:
[structure:cmsForm:private] => Array
которое в содержится в передаваемом $form
Ну примерно как-то так:
$fields = $form->getStructure(); foreach($fields as $fieldset_id => $fieldset){ /* тут творим чего хотим*/ } $form->setStructure($fields);