Перейти к содержимому


Фото
- - - - -

Вывод редактирования robots.txt в админку


  • Чтобы отвечать, сперва войдите на форум
10 ответов в теме

#1 megauser

megauser
  • Пользователь
  • 80 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:Россия

Опубликовано 05.08.2019 - 12:56

Подскажите как подключить редактирование файла robots.txt в админ панели?



#2 Kosjak76

Kosjak76
  • Модератор
  • 3 845 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 05.08.2019 - 13:27

А зачем? Какой в этом смысл? 



#3 phukortsin

phukortsin
  • Фрилансер
  • 988 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 05.08.2019 - 14:29

А зачем? Какой в этом смысл?

 

Примерно такой же, какой и в том, чтобы редактировать через админку файлы шаблона.

Многие CMS такое делают стандартно.

 

Подскажите как подключить редактирование файла robots.txt в админ панели?

 

Надо программировать нужное. Например, по образцу редактирования шаблонов. Работа не совсем маленькая, двумя строками не отделаешься...



#4 Kosjak76

Kosjak76
  • Модератор
  • 3 845 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 05.08.2019 - 15:33

 Примерно такой же, какой и в том, чтобы редактировать через админку файлы шаблона.

Бред, давайте и ПХП-файлы выведем, они чем хуже?



#5 Noxter

Noxter
  • Забаненый
  • 1 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 05.08.2019 - 15:47

Примерно такой же, какой и в том, чтобы редактировать через админку файлы шаблона.
Многие CMS такое делают стандартно.

Идиотизм!
В этом нет никакой потребности, изменения в роботс не так часто вносятся.

#6 megauser

megauser
  • Пользователь
  • 80 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:Россия

Опубликовано 05.08.2019 - 16:10

Бред, давайте и ПХП-файлы выведем, они чем хуже?

 

Можно вывести js



#7 phukortsin

phukortsin
  • Фрилансер
  • 988 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 05.08.2019 - 17:10

Бред, давайте и ПХП-файлы выведем, они чем хуже?

 

Не лучше и не хуже, всего лишь вопрос удобства. В некоторых CMS и редактирование php встречается. И ничего, работают и не загнивают, как ни странно. 

 

Cделано в Simpla - в админке можно редактировать файлы шаблона tpl, css, изображения. А в шаблоне есть еще js - их тоже при таком подходе редактировать надо бы, но это не делается. Почему, вряд ли кто знает...

 

Так что и robots.txt ничуть не хуже и не лучше - если кому удобнее его редактировать в админке - дело вкуса.

 

 

Идиотизм!
В этом нет никакой потребности, изменения в роботс не так часто вносятся.

 

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

 

Встречался один заказчик, который непременно захотел редактировать .htaccess из админки - ему это часто надо было, ЧПУ менял чуть не каждую неделю.

 

В в Simpla редактируется в админке simpla/.passwd - тоже ход нестандартный. Кажется, кроме Simpla, никто такого не делает, на что причины есть...



#8 Ruslan Kopyl

Ruslan Kopyl
  • Фрилансер
  • 134 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина, Харьков

Опубликовано 06.08.2019 - 10:33

Пишите в скайп сделаю быстро и недорого



#9 sergeevizh

sergeevizh
  • Пользователь
  • 191 сообщений
  • Откуда:Москва

Опубликовано 06.08.2019 - 11:25

1. Создаем файл RobotsAdmin.php в папке simpla/ и в нем размещаем 

<?php

require_once('api/Simpla.php');

class RobotsAdmin extends Simpla {

    public function fetch() {


        if($this->request->post()){
            $robots_data = $this->request->post('robots');
            $this->get_robots($robots_data,'write');
        }

        $robots_txt = $this->get_robots('','read');
        $this->design->assign('robots_txt', $robots_txt);
        $perms = is_writable('robots.txt');
        if(!$perms) {
            $this->design->assign('message_error','write_error');
        }
        return $this->design->fetch('robots.tpl');
    }

    private function get_robots($data,$type){
        if($type == 'write'){
            $perms = is_writable('robots.txt');
            if($perms) {
                file_put_contents('robots.txt', strip_tags($data), LOCK_EX);
                $this->design->assign('message_success', 'updated');
            }
            else{
                $this->design->assign('message_error','write_error');
            }
        }
        elseif($type='read') {
            $robots = file_get_contents("robots.txt");
            return $robots;
        }
    }

}

2. в файле simpla/IndexAdmin.php

после 

'ManagerAdmin' => 'managers'

Не забываем проставить последовательную запятую и добавляем 

'RobotsAdmin'         => 'robots'

3. Идем в api/Managers.php

после 

, 'license'

добавляем 

, 'robots'

4. Создаем страницу /simpla/design/html/robots.tpl в папке темы админки и размещаем в неё 

{capture name=tabs}
    <li><a href="index.php?module=ThemeAdmin">Тема</a></li>
    <li><a href="index.php?module=TemplatesAdmin">Шаблоны</a></li>
    <li><a href="index.php?module=StylesAdmin">Стили</a></li>
    <li><a href="index.php?module=ScriptsAdmin">Скрипты</a></li>
    <li><a href="index.php?module=ImagesAdmin">Изображения</a></li>
    <li class="active"><a href="index.php?module=RobotsAdmin">Robots.txt</a></li>
{/capture}

{$meta_title = "Robots.txt $style_file" scope=parent}

{if $message_error}
    <!-- Системное сообщение -->
    <div class="message message_error">
        <span class="text">
        {if $message_error == 'write_error'}
            Установите права на запись файла robots.txt
        {/if}
        </span>
    </div>
    <!-- Системное сообщение (The End)-->
{/if}

{if $message_success}
    <!-- Системное сообщение -->
    <div class="message message_success">
        <span class="text">{if $message_success == 'updated'}Robots обновлен{/if}</span>
    </div>
    <!-- Системное сообщение (The End)-->
{/if}

<form method="post">
    <input type=hidden name="session_id" value="{$smarty.session.id}">
    <div class="block layer">
        <h2>Файл robots.txt</h2>
        <div>
            <textarea class="settings_robots_area" name="robots">{$robots_txt|escape}</textarea>
        </div>
    </div>
    <input class="button_green button_save" type="submit" name="save" value="Сохранить" />
</form>

5. Добавляем на страницы

/simpla/design/html/theme.tpl

/simpla/design/html/templates.tpl

/simpla/design/html/styles.tpl

/simpla/design/html/images.tpl

 

после 

<li><a href="index.php?module=ImagesAdmin">Изображения</a></li>	

добавить 

    {if in_array('robots', $manager->permissions)}
        <li><a href="index.php?module=RobotsAdmin">Robots.txt</a></li>
    {/if}

6. На странице /simpla/design/html/manager.tpl 

после 

'license'    =>'Управление лицензией'

добавить 

,
                    'robots'     =>'Файл robots.txt'

 

7. в simpla/design/css/style.css в конце добавить 

.settings_robots_area {
    width: 925px;
    height: 355px;
    max-width: 925px;
    min-width: 925px;
}

Изменено: sergeevizh, 06.08.2019 - 11:30


#10 phukortsin

phukortsin
  • Фрилансер
  • 988 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 06.08.2019 - 12:42

sergeevizh, молодец!

И похоже, у себя еще редактирование JS-скриптов шаблона сделал...

#11 sergeevizh

sergeevizh
  • Пользователь
  • 191 сообщений
  • Откуда:Москва

Опубликовано 06.08.2019 - 12:45

sergeevizh, молодец!

И похоже, у себя еще редактирование JS-скриптов шаблона сделал...

Да, сделал.

Теперь не могу отредактировать сообщение, чтобы убрать, поспешил. 






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых