9 Декабрь 2009

Как внести изменения в код сайта легко и непринужденно

Изменение в незнакомом движке

Друзья, хочу поделиться с вами маленькой заметкой на тему внесения изменений в программный код сайта.

Первая задача состоит в следующем:

Вы хотите изменить текст/ссылку/картинку, но среди кучи файлов, относящихся к программному коду сайта не можете найти тот, в котором нужно сделать желаемые изменения.

У меня недавно возникло желание удалить из URL-адреса ссылки “Читать далее” на этом блоге код, который прокручивал страницу подробного содержимого статьи к месту установки тега more. Такое поведение WordPress мне не понравилось, как-то сбивает это все с толку и я решил удалить лишнее из URL-адреса, а именно, кусок кода #more.

Кто не понял постановки задачи, поясню: аналогичное прокручивание страницы вы можете увидеть перейдя по ссылке к комментариям данной статьи. Страница будет проскролированна благодаря содержащейся в URL инструкции #comments (подробнее о работе с такого рода ссылками можно прочитать на HTML-book). Все тоже самое происходило со ссылкой Читать далее, с той лишь разницей, что страница скролировалась к якорю more. В программном коде движка нужно было найти то место, где указана эта директива и удалить ее.

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

Оказывается все очень просто. Нам потребуется программа Total Commander и ее способность искать текст внутри файлов.

Интерфейс поиска вызывается нажатием горячих клавиш Alt + F7.

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

В соответствующую строку нужно указать характерное сочетание символов кода, которое вы хотите обнаружить. Но здесь нужно помнить тот факт, что, например, при поиске фразы с пробелами (Вот такая фраза) вы можете ничего не найти, потому что в HTML та же самая фраза может быть записана с использованием кода неразрывного пробела   (Вот такая фраза).

Поиск можно производить как в файлах локального компьютера, так и на сервере. Я подключился к серваку, используя возможности все того же Total Commander-а.


Для тех кто не в курсе:

Горячее сочетание клавиш Ctrl + F вызывает диалог подключение к серверу.

  • Нажимаете кнопку Добавить.
  • Вводите Имя соединения (любое буквосочетание, чтобы самому потом вспомнить к чему происходит подключение).
  • Указываете Сервер[:Порт], здесь достаточно указать адрес вашего FTP-подключения (его сообщает провайдер).
  • Учетная запись и Пароль (пароль лучше не указывать, а вводить его каждый раз в ручную при подключении, дабы защитится таким образом от всяких троянов, сами знаете).
  • Иногда нужно ставить галочку рядом с пунктом Пассивный режим обмена (как Web-браузер), иначе будут постоянно происходить обрывы подключения.

Но сейчас речь не об этом.

На сервере я выделил те папки, в которых предполагал наличие искомого сочетания #more (именно его я счел наиболее подходящим для поиска соответствующего куска кода) и запустил поиск по содержимому файлов. При поиске на сервере процесс получается длительный, поэтому можно смело идти пить кофе.

После завершения поиска мне были показаны 2-а файла, в которых был обнаружен искомый текст. Открыв первый файл и перейдя к месту расположения текста #more, я понял, что достиг цели.

Немного подредактировал и вуаля, все работает, нелюбимого мной скролирования больше нет.

Теперь пойдем чуть дальше и разберем еще одну задачу:

“Необходимо сделать замену одинакового куска кода в большом количестве файлов”

У меня частенько возникает такая задача. Например, сайт сделан на чистом HTML и нужно заменить на всех его страницах подпись в футере. Тут либо лазить текстовым редакторам по всем файлам, либо как-то автоматизировать этот процесс.

Займемся автоматизацией. Для этого нам понадобится мой любимый редактор PSPad.

Выбираем пункт Поиск и замена:

Поиск и замена в файлах

И в интерфейсе поиска указываем искомую фразу (текст, который был в футере) и новое содержимое, ниже выбираем место для поиска (папку, в которой расположен наш сайт) и замену за нас делает робот, а мы продолжаем пить кофе.

С уважением, Андрей Морковин.

MAXCACHE: 0.84MB/0.00028 sec