We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26709
    • 4 Posts
    Доброго времени суток!

    Появилась надобность написать плагин, который заменяет тэги на валидные. Т.е. когда создаю шаблон или документ, при сохранении плагин заменял определенные тэги на другие.

    Создал простейший плагин, но он не работает. Тем более я не совсем знаю, какие события выбирать, чтобы плагин заменял тэги при:
    1) Сохранении шаблона
    2) Сохранении контента документа

    Само ядро плагина такое:

    	$modx->documentOutput = str_replace('<br>','<br />',&$modx->documentOutput);
    $modx->documentOutput = str_replace('<DIV','<div',&$modx->documentOutput);
    $modx->documentOutput = str_replace('</DIV>','</div>',&$modx->documentOutput);
    $modx->documentOutput = str_replace('<P','<p',&$modx->documentOutput);
    $modx->documentOutput = str_replace('</P>','</p>',&$modx->documentOutput);


    т.е. тэг
    заменяет на
    , теги в верхнем регистре - в нижний, и т.д. Хотя, возможно, подобній плагин уже есть и я изобретаю велосипед?

    Буду очень благодарен за помощь
      • 33694
      • 742 Posts
      Посмотрите в код Типографа или любого другого подобного плагина и всё станет понятно.

      Ну вот фрагмент, чтоб долго не копаться. А то сам плагин я только на 12-ой странице нашел
        case 'OnBeforeDocFormSave': 
              …
              global $content;
              include_once $modx->config['base_path'] . 'assets/plugins/typograf/remotetypograf.php';
      
              $remoteTypograf = new RemoteTypograf( $modx->config['modx_charset'] );
              …
              $content = $remoteTypograf->processText( stripslashes($_POST['ta']) );
        break;

      Думаю по аналогии не сложно будет найти имя того же события для шаблона, ну и обработать его тоже.
        • 26709
        • 4 Posts
        Спасибо, буду пробовать. Проблему вроде решил, но код обрабатывается уже при выдавании в браузер. А сохраняется как и оригинал. Но это уже дело техники smiley