Доброго дня всем.
Есть статичные страницы, которые хранятся в папке views/pages. Вопрос - есть ли возможность получить к ним доступ из админки для редактирования?
Кто такое делал, поделитесь опытом.
Спасибо
Можно, только вопрос - зачем? Вы кому хотите это доверить?
Имейте в виду, что в файлах содержится php и если вы забудете запятую, то ляжет весь сайт, в том числе и ваша админка с редактированием...
Может проще git + git-ftp, ну или хотя бы просто ftp?
Вы эти файлы видели? Это php со всеми вытекающими.
Если вы хотите дать пользователям возможность редактировать переводы, то вам нужно сделать интерфейс для редактирования (форма, поля ввода для каждой строки и т.п.) и из полученных от пользователя данных генерировать содержимое файла и сохранять уже то, что сгенерировали сами.
Пока я сделал так - вывожу в textarea содержимое файла, пользователь редактирует нужные значения в массиве, а потом все это сохраняется.
Далее буду думать, как сделать более удобный интерфейс.
Попробовал. Удалил запятую, выдает ошибку. Так что вы правы, это дело опасное. Не подскажете, как сделать удобный интерфейс для правки? Я так понимаю, что нужно получить массив, в поля ввода записать ключ и значение, разрешить редактирование только значений, а потом все это дело сохранить обратно в файл. Но как сделать это технически я пока слабо представляю.
Ну вы же только учитесь, так что это нормальная задача для начала.
Если кратко, то нужна форма. Берете массив английских и русских строк и с помощью foreach размещаете в форме теги input (имя - ключ массива, значение - русское значение, если переводите с английского). Ну и кнопу submit внизу.
В контроллере получаете данные формы, убираете те строки, где перевод не указали и, опять же в цикле, формируете строку, такую, чтобы после записи в файл получился такой же как имеющийся.
Понятно, чтобы все это заработало нужен контроллер, роуты прописать, вьюхи сделать, плюс как-то выбор файла перевода нужно осуществлять.
Сделайте сначала, чтобы с одним заработало, потом будете думать как выбор файла прикрутить, а потом как выбор языка.
Ну зачем решать задачу так в лоб? У вас изменилось условие задачи, значит нужно поменять и подход...
Раз вам теперь нужна локализация, то file_get_contents не нужен, а нужен гугл: https://stackoverflow.com/a/21997157/2295915
Сохранить файл можно разными способами, самый простой - file_put_contents()
Вариант прост, нужно взять любой редактор, который больше нравится, загружать в него текст файла редактировать и сохранять так же как в обычный. Разница только в том что надо чистить кэш view после сохранения.