Как вывести несколько текстовых блоков на страницу

2903186 17:37 26.11.2019
Доброго времени суток. Недавно нашел вашу CMS, искал что бы работала на sqlite, попробовал все понравилось, быстрая и легкая. Занимаюсь разработкой сайтов, чаще всего приходится делать лэндинги, с дальнейшим их развитием в многостраничник, ООП изучаю недавно, и опыта работы с базой данных тоже не много, с версткой и выводом информации из массивов проблем нет (получить бы нужный массив из базы))). Документации про cms совсем мало, в той что есть, все описано без подробностей к сожалению, наверное сказывается отсутствие опыта работы с ООП, но очень хочется научиться))
Суть вопроса такая, как мне сделать в шаблоне (backend) несколько текстовых полей, которые заполняются в админке, а выводятся на фронте, как использовать шаблоны я понял, интересует механизм записи в базу данных, и вывод этих данных на страницу, в общем как записать данные в базу и получить на фронте этот массив или объект.
1
admin
1. самое простое - использовать модуль custom_script

https://www.youtube.com/watch?v=tWZuCeDS6fk&list=PLS8UAdbUF5qUBvqM9htBwDo8G4FhEkXHJ&index=14

выполнять запрос можно так:
$this->dbh->query($sql);

2. написать полноценный модуль

https://www.youtube.com/watch?v=jgDbnxgBfPA

https://www.youtube.com/watch?v=BfL6yzqMSCQ
2
2903186
Уроки посмотрел, спасибо.
Сделал все по видео "Пишем простейший компонент для usercms", записи в бд добавлялись из админки, а когда начал делать экшен update, при добавлении новой записи ваваливается в ошибку SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: main_page_settings.header_text

Model:
3
2903186
class model_component_mainContent extends model {

public function get_headers(){
return $this->dbh->query("SELECT * FROM main_page_settings ORDER BY id LIMIT 100");
}
public function header_create() {
$sql = "INSERT INTO main_page_settings (header_text) VALUES (:header_text)";
$s = $this->dbh->prepare($sql);
unset($_POST['submit']);

if ($s->execute($_POST)) {
return $this->dbh->LastInsertId();
} else {
return false;
}
}

}
4
2903186
Все вернул как было, удалял таблицу в б/д, все равно не работает
5
admin
1. экшен update для добавления, а не обновления.
2. Сложно анализ по этим кускам кода делать. Лучше бэкап полный пришлите и скриншоты где ошибка
6
2903186
header_create() - разве не для добавления?
7
admin
здесь header_create да, добавление.
и на первый взгляд вроде все верно.

возможно не передаете header_text или он пустой.
и поэтому запись не идет.


попробуйте так:

$sql = "INSERT INTO main_page_settings (header_text) VALUES (
'" . $header_text . "'
)";

return $this->dbh->exec($sql);
8
2903186
Да, ошибка пропала, есть нотис Undefined variable: header_text .
В базу записывается только id, самого значения нет
Undefined variable: header_text
Вот backup всего сайта https://yadi.sk/d/e55DzqRfximJsQ
9
2903186
header_text же нужно из $_GET вытащить?
10
admin
откуда передаете значение, оттуда и брать.
может из POST, может из кук, сессий, другой функции и пр

Для добавления сообщений, пожалуйста, Войдите или Зарегистрируйтесь
Создание и продвижение сайтов: Unibix