Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522

Вставка нужного кода в контент

24.01.2016, 07:30. Показов 1407. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такая задача.
Имеется модуль "Списки". Нужно вставить выбранный список в любое место контента, например в текст.
До и после текста вставить проблем нет, например так
PHP
1
<?printList(2, 'block')/*id и вид вывода*/?>
Но если так вставить в текст (из админки), то в БД он сохранится как обычный текст.
Как же решается такой вопрос?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2016, 07:30
Ответы с готовыми решениями:

Вставка кода фотогалереи в контент и вывод ее на сайте
На сайте есть фотогалерея. Нужно ее вставить в контент сайта, например с помощью кода {gallery_id=1}. Например, так подключаеться...

Вставка в запрос нужного значения
Всем привет, камрады! Пытаюсь выполнить простой запрос, к примеру: ADOQuery2.SQL.Text := 'SELECT firm from data where code=''Z'''; ...

вставка нужного количества строк
Здравствуйте! Имеется экселевский документ в ~1000 строчек. в столбце А стоит число от 1 до 10000, числа не повторяются. нужно каким-то...

7
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
24.01.2016, 14:14
В админку обычно не включают такую возможность, а наоборот всячески с этим борются. Вставьте, что вам нужно, в откомпилированный шаблон (шаблон на чистом php).
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
24.01.2016, 17:50
Лучший ответ Сообщение было отмечено __PION__ как решение

Решение

HTML5
1
<!--{module=block&method=printList&params=2}-->
вставляем теги куда надо пример выше, перед выводом обрабатываем контент
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ob_start();
echo preg_replace_callback(
    /**
     * @param $matches
     * @return bool|string
     */
        '/<!--{(.+?)}-->/', function ($matches) {
        parse_str($matches[1], $output);
        if (empty($output['module'])) {
            $result = false;
        } else {
            $module = $output['module'];
            $method = empty($output['method']) ? 'render' : $output['method'];
            $cls = '\modules\\' . $module . '\\' . ucfirst($module);
            $result = (new $cls())->$method($output);
        }
        return $result;
}, ob_get_clean());
таким образом, можно построить систему вывода модулей в любом нужном вам месте
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.01.2016, 20:37  [ТС]
Poznakomlus, немного не понял, куда вставлять первый код и что это за код. И что означают параметры в ф-ии:

Добавлено через 2 минуты
miketomlin, как не вставляют, я же вижу, в том же bitrix, внутри разных страниц разный контент с разным внешним видом.. Отсюда могу сделать вывод, что есть какой-то механизм, который позволяет вставлять разную инфу в контент + менять шаблон для выбранной страницы
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
24.01.2016, 20:41
В среднестатистическом сайте этого нет. Если дать рядовому «контент-менеджеру» возможность вставлять код, сайт долго не проживет Админ может подложить новый шаблон и на уровне исходников.
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
24.01.2016, 21:36
Цитата Сообщение от __PION__ Посмотреть сообщение
куда вставлять первый код и что это за код.
это код комментария, который мы используем по своему усмотрению. вставляем в него параметры, а затем парсим с помощью регулярного выражения и разберем используя parse_str
в данном примере при нахождении html кода
HTML5
1
<!--{module=block&method=printList&params=2}-->
содержимое данного тега будет заменено результатом метода
\modules\block\Block->printList() куда передаем массив
PHP
1
 ['module'=>'block', 'method'=>'printList', 'params' => 2]
не думал, что код покажется сложным
смысл пишем тег, который в последующем заменяется результатом метода класса указываемого в качестве параметров в данном теге
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
25.01.2016, 04:16  [ТС]
Poznakomlus, не будет ли страница при этом медленно загружаться? Может так быть, что текст большой, а вставок несколько..
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
25.01.2016, 15:36
так работают большинство шаблонизаторов, находят текст и заменяют его другим
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2016, 15:36
Помогаю со студенческими работами здесь

Реализация выбора нужного расчета и его вставка в документ
Подскажите с помощью чего можно реализовать такую функцию есть 4 ресурса, для каждого ресурса используются свои данные и методика расчета....

Поиск нужного кода
Прошу объяснить, где и каким образом нужно искать код для редактирования. Допустим, у меня есть какой-то элемент и я хочу найти кусок кода,...

Загрузка нужного куска кода
Всем привет! Подскажите, как сделать, чтобы по клику грузился нужный код. У меня таблица из трех колонок. Вот сам пример. Не прошу код за...

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

Отображается кода вместо нужного текста
Здравствуйте. У меня совсем идиотский вопрос, только начал изучать PHP путем видеогайдов, по специальности я очень далек от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru