Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

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

 

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

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

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

 

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Идиотизм!

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

 

Идиотизм!

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

 

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

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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
Ссылка на сообщение
Поделиться на другие сайты

sergeevizh, молодец!

 

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

Да, сделал.

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...