RobotsBuilder для modExtra

Всем, привет.

Resolver, который устанавливает sitemap.xml и robots.txt в дополнение RobotsBuilder
Запускать после установки дополнений.

<?php
if ($object->xpdo) {
    /** @var modX $modx */
    $modx =& $object->xpdo;
    
    $site = $modx->getOption('site_url');
    $context = 'web';
    
    switch ($options[xPDOTransport::PACKAGE_ACTION]) {
		case xPDOTransport::ACTION_INSTALL:
		case xPDOTransport::ACTION_UPGRADE:
			
	    $modelPath = $modx->getOption('robotsbuilder_core_path',null,$modx->getOption('core_path').'components/robotsbuilder/').'model/';
            $modx->addPackage('robotsbuilder', $modelPath);
            
            $settings = array(
                "robots.txt" => "User-agent: * \nDisallow: /manager/ \nDisallow: /assets/components/ \nDisallow: /core/ \nDisallow: /connectors/ \nDisallow: *? \nHost: $site \nSitemap: {$site}sitemap.xml",
                "sitemap.xml" => "[[pdoSitemap? &showHidden=`1`]]"
            ); 
            
            foreach($settings as $key => $content){
                if (!$setting = $modx->getObject('RobotsBuilderItem', array('type' => $key, 'context' => $context ))) {
                    $setting = $modx->newObject('RobotsBuilderItem', array('type' => $key, 'context' => $context, 'content' => $content, 'active' => true));
                    $setting->save();
                    $modx->log(modX::LOG_LEVEL_INFO, "robotsbuilder: install <b>$key</b>");
                }
            }
			break;

		case xPDOTransport::ACTION_UNINSTALL:
			break;
	}
}
return true;
Aleksandr Huz
19 июня 2018, 10:48
modx.pro
1 372
+1
Поблагодарить автора Отправить деньги

Комментарии: 3

Aleksandr Huz
19 июня 2018, 13:51
0
Подскажите, как разместить код по катом?
    Илья Уткин
    19 июня 2018, 14:08
    1
    +1


    Просто в том месте, где надо разместить кат, вставляешь тег
    <cut>
    Даже есть кнопочка с ножницами для этого)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
3