Категории

Автоматическое переименование файлов modExtra для MODx Revolution

Один из вариантов использовать php скрипт, который переименовует заготовку modExtra на необходимое вам имя. Запускать следует из того же каталога где находится каталог modExtra.

Автор: http://community.modx-cms.ru/profile/valentin111/

function renameCatalog($dir, $modExtra, $ourName){
    if(is_dir($dir)) {
        if($dh = opendir($dir)) {
            while(($file = readdir($dh)) !== false) {
                if($file != '.' && $file != '..'){
                    if(filetype($dir . "/" . $file) == 'dir'){
                        $file = $file . "/";
                    }                               
                    $new_name = str_replace($modExtra, $ourName, $file);
                    rename($dir . "/" . $file, $dir . "/" . $new_name);                             
                    if(filetype($dir . "/" . $new_name) == 'dir'){
                        renameCatalog($dir . "/" . $new_name, $modExtra, $ourName);
                    }else if(is_file($dir . "/" . $new_name)){
                        $content = file_get_contents($dir . "/" . $new_name);
                        $content = str_replace($modExtra, $ourName, $content);
                        file_put_contents($dir . "/" . $new_name, $content);
                }
                }                       
            }
        closedir($dh);
        }
    } 
}
// имя каталога, где будем менять
$dir = "modExtra";
// modExtra - что меняем, myTest - на что меняем.
renameCatalog($dir, "modExtra", "myTest");
renameCatalog($dir, "modextra", "mytest");

Вторым вариантом будет использование консольного скрипта на bash rename_it.sh.

Автор: http://community.modx-cms.ru/profile/bezumkin/

#!/bin/bash

# Переименуйте тут, как вам угодно
repl1=yourName
repl2=yourname

# А вот тут ничего менять не нужно
find1=modExtra
find2=modextra
path=./modExtra

cd ..
for i in {1..10}
do
    find $path -name *$find2* -a ! -name rename_it | xargs perl -e 'for(@ARGV) { $a=$_; s/'$find2'/'$repl2'/g; rename $a,$_; print "$_n" }'
done

for i in `egrep -r $find1 $path/_build $path/core $path/assets | grep -v svn | cut -d ":" -f1`
do
    reg="s/$find1/$repl1/g"
    sed -e $reg $i > ${i}.bak
    mv ${i}.bak $i

    reg="s/$find2/$repl2/g"
    sed -e $reg $i > ${i}.bak
    mv ${i}.bak $i

    echo $i
done

mv $find1 $repl1

Под Windows для того чтобы запустить данный скрипт можно воспользоваться приложением Git Bash. Мы переходим в распакованую папку modExtra и пишем следующую команду.

./rename_it.sh

Наверх ↑

закрыть х
Новые уроки на постоянной основе!

Некоторые уроки вы сможете посмотреть на моем канале YouTube, но полноценный доступ только для email-подписчиков. Необходимо подписаться на рассылку, чтобы получать оповещения о новых уроках на почту

  • Fireworks, Photoshop, Illustrator
  • HTML, CSS, JavaScript
  • PHP, MySQL
  • CMS, PHP фреймворки, JS библиотеки
  • Инфобизнес, Email-маркетинг
Бесплатно!

Только для email-подписчиков!