Sonat

Sonat

+175
Репутация
362
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Кликабельные поля - автофильтры 31 января 2022 в 04:58

Есть ли простой способ сделать из полей в контенте кликабельные фильтры?

Пример с демки:
Есть тип контента статьи, у нее есть поле «Тип статьи»
При просмотре контента выводится строка допустим 
Тип статьи: Авторская
Но это просто строка, а хотелось бы иметь возможность тут же кликнув на «Авторская» перейти на фильтр по этому полю и увидеть все авторские статьи.

Да, когда речь идет про одно только поле можно и ручками создать фильтр, хотя опять же вопрос вывода... 
Если полей больше десятка (например в объявлениях) надо отдельно создавать кучу правил/фильтров которые отдельно/неудобно выведены верху.

А хотелось бы прямо в объявлении при просмотре его полей

Район:          Набережная
Тип дома:    Новостройка
Этаж:            1
Количество комнат:    5

иметь возможно кликнуть тут же на поле и перейти на страницу вывода других объявлений с этим полем — т.е. увидеть все квартиры на набережной или все 5-комнатные и т.п.

Up

Кажется нашел, у строкового поля, местоположения и списков есть «Автоссылка»

ЗЫ теперь даже не знаю, что с открытой темой делать, была бы возможность удалил бы т.к. вопрос был поднят из-за невнимательности.

#1 [ЗАКРЫТО] Нужен ли шаблонизатор для InstantCMS? 30 января 2022 в 23:46

Какие проблемы решают шаблонизаторы я думаю все знают.

Алексей Т

Нет. 

Более того не очень понимаю о чем идет речь. Знаю в первой ветке используется  Smarty, предлагаете нечто подобное и на второй ветке?

#2 Вопрос по движку базы данных 30 января 2022 в 22:01

Раз все молчат, выскажу свое непрофессиональное предположение, что дело в полнотекстовом поиск которое в InnoDB гораздо сложнее организовать.

#3 [ЕСТЬ РЕШЕНИЕ] Поддержка языковых файлов из отдельной специальной директории /system/languages/ru/fields/ 28 января 2022 в 16:45

Допустим есть поле zzzzz (имя взял от балды лишь бы визуально бросалось в глаза)


1. Создаем языковый файл 
/system/languages/ru/fields/zzzzz/zzzzz.php
с содержанием типа

  1. <?php
  2. define('LANG_F_ZZZZZ_TEXT1', 'Какой-то текст');
  3. define('LANG_F_ZZZZZ_TEXT2', 'Еще текст');

Сделал вставки  ' _F_ ' в константах поля, как в поле Категории.

wir

_F_ — это просто для удобства придумано некое правило обзывания констант движка чтобы легче было разбирать код.
В принципе вместо LANG_F_ZZZZZ_ может быть любая абракадабра лишь бы соответствовала правилам имен в php 

.

2.Системные файлы поля располагаются по адресу /system/fields/zzzzz.php
В этом файле после определение класса

  1. class fieldZzzzz extends cmsFormField {

добавляем 

  1. protected $use_language = true;

3. И ниже в коде вместо текста используем константы типа LANG_F_ZZZZZ_TEXT1 из ранее созданного языкового файла.

ВСЁ! текст есть.

#4 [ЕСТЬ РЕШЕНИЕ] Доп.фотографии магазина в общем каталоге 26 января 2022 в 23:35

но в item.tpl, как я понял, предусмотрен их вывод, где то они хранятся? Может через конструктов форм как то, но тогда это выглядело бы не так

Нил™

Файлы-то хранятся, но нет информации о них в базе.
Вроде метод getItemImages о котором говорил Loadырь в прошлом посте и занимается тем что по id ищет в папке фото подходящие по названию
и возвращает массив с найденными.

#5 [ЕСТЬ РЕШЕНИЕ] Доп.фотографии магазина в общем каталоге 26 января 2022 в 22:53

Нужно открыть php admins таблицу с товарами и посмотреть, есть ли там столбец images.

Нил™

Нету. Насколько я понял информация про эти дополнительные фото нигде не хранится.

#6 [ЕСТЬ РЕШЕНИЕ] Доп.фотографии магазина в общем каталоге 26 января 2022 в 22:29

Там с одной стороны все не так просто — никакой переменной с картинками в шаблон не передается, т.е. надо править фронтенд, чтобы эти переменные в $item сохранить.

А с другой стороны можно прямо с шаблона зная $item.id проверить наличие дополнительных фото (ведь их юрл формируется из id товара) и вывести те которые найдены.

Полина Емелина, а как вы планируете вывести картинки, мне интересно чисто визуально как это будет выглядеть, будут ли дополнительные фото того же размера? Вы планируете у каждого товара карусельку/слайдер или просто на месте 1 фото будет несколько?

#7 Подскажите как сделать кликабельным номер телефона 25 января 2022 в 14:43

Не-не-не, чего-то меня не туда понесло, проблема в том что в коробке нету поля «Телефон», и приходится и писать телефон либо строковым, либо ссылкой. Но! Если его ссылкой, то это место для спама.

Полагаю нужен новый тип поля с валидацией и авто подстановкой tel: в ссылку.

😌

Vega,  пока так — тип поля Ссылка, убрать галки редиректа, http и пр. 
и писать телефон как в первом посте — tel:+798880000

#8 Подскажите как сделать кликабельным номер телефона 25 января 2022 в 14:13
  1. <a href='tel:+798880000'>+798880000</a>
#9 Не добавляются комментарии 23 января 2022 в 21:36

появляется сообщение Notice: Undefined index: author_ip

Kroom

Я так понял ругается что author_ip не определен перед тем как ее преобразовать в удобочитаемый IP.

А вообще IP юзеров определяется? Что пишется в таблице юзеров в колонке последний ip ?

#10 Тип поля: Текст HTML. При отображении удаляются пустые строки. Как отключить удаление? 23 января 2022 в 20:06

Если нам по какой-то причине нужен типограф и отключать его нельзя, то надо лезть в его настройки.

Sonat

файл /system/controllers/typograph/hooks/html_filter.php

Ищем метод cfgSetTagIsEmpty 
и добавляем тег p
должно получиться 

  1. $jevix->cfgSetTagIsEmpty([
  2. 'a', 'iframe', 'div', 'p'
  3. ]);

А если в него вставить JS код, исполняться будет? Ну или допустим svg картинку содержащую JS код? Redactor всё это безобразие обвернёт в <p></p>, это проверял.

Panda58dev

Насколько знаю Tinymce тоже все что пишется в редакторе вставляет в параграфы<p></p>, можно ли это как-то обойти вставкой картинки, фрейма или еще чего — мне неизвестно.

#11 Тип поля: Текст HTML. При отображении удаляются пустые строки. Как отключить удаление? 23 января 2022 в 16:23

Давайте с Вами на бутылку хорошего коньяка поспорим, что то, что Вы описали — НИКАК не решает ИМЕННО ту задачу, которую я озвучил? 

Владимир Переверзев

Задача иметь возможность ставить пустые строке в редакторе?


Я вам и так все наглядно распишу...

Допустим надо вставить текст 

1
2

4
5

что в html-коде должно быть примерно как

  1. <p>1</p>
  2. <p>2</p>
  3. <p></p>
  4. <p>4</p>
  5. <p>5</p>

Если эти 5 строк вставить в редактор Redactor, то еще до сохранения (в браузере) это все поправится на 
1
2
4
5
и на сервер отправится (и соответственно сохранится) именно этот чищеный текст, т.е. 4 строки.


Если это же эти 5 строк вставить в редактор Tinymce, то и на сервере они сохранятся в таком же виде — 5 строк.


Второй момент как эти строки будут отображаться — это зависит от типографа.
Если включен типограф, то эти 5 строк (при выводе превратятся в 4)
С выключенным типографом отобразятся все 5 строк

1
2

4
5


Если нам по какой-то причине нужен типограф и отключать его нельзя, то надо лезть в его настройки.

#12 Тип поля: Текст HTML. При отображении удаляются пустые строки. Как отключить удаление? 23 января 2022 в 14:45

Нет, у меня совершенно по-другому.
Я же очень чётко написал.

Владимир Переверзев

Не понял чего там по другому, я написал о том что опытным путем выяснилось что дело в Редакторе.

Может быть редактор другой взять?

Владимир Переверзев

— ДА

Или может что-то в настройках компонент?

Владимир Переверзев

— НЕТ, дело не в компоненте а в редакторе, так что смотреть надо настройки  не компонента а редактора

Или в коде движка надо править?

Владимир Переверзев

— НЕТ

#13 Тип поля: Текст HTML. При отображении удаляются пустые строки. Как отключить удаление? 22 января 2022 в 23:02

В нём просто пустые строки — удаляются при сохранении.

Владимир Переверзев

Проверил, у меня они удаляются при переключении режима отображения код/визивиг т.е. это делает редактор еще до сохранения.

#1 Два спойлера с одинаковым ID на одной странице? 21 января 2022 в 16:06

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

Изображение

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