Jump to content

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


Recommended Posts

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

 

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

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

 

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

 

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

Link to post
Share on other sites

 

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

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

Link to post
Share on other sites

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

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

Идиотизм!

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

Link to post
Share on other sites

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

 

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

 

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

 

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

 

 

Идиотизм!

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

 

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

 

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

 

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

Link to post
Share on other sites

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;
}
Edited by sergeevizh
Link to post
Share on other sites

sergeevizh, молодец!

 

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

Да, сделал.

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...