Создание интересного сайта — залог успешного продвижения Бизнеса... 
Документация sh404sef FAQs Создание плагина для sh404SEF — Анатомия плагина.

Создание плагина для sh404SEF — Анатомия плагина.

Основной файл плагина, поставляемого вместе с sh404SEF, называется «sample_com_plugin.php», и находится в «/components/com_sh404sef/sef_ext» directory. Он состоит из 3 основных частей.

Раздел инициализации

Эта часть кода просто вызывает sh404SEF функции инициализации, а также устанавливает или сбрасывает некоторые переменные. Он не должен быть изменен. Мы рекомендуем изменять его только опытным программистам. Код инициализации:

  • // ------------------ standard plugin initialize function - don't change ---------------------------
    global $sh_LANG, $sefConfig;
    $shLangName = '';;
    $shLangIso = '';
    $title = array();
    $shItemidString = '';
    $dosef = shInitializePlugin( $lang, $shLangName, $shLangIso, $option);
    // ------------------ standard plugin initialize function - don't change ---------------------------

Вы не можете использовать другие языки в компоненте. Однако, sh404SEF был разработан как многоязычный компонент. ЧПУ не использует другие языки, принимая во внимание перевод URL и параметр InsertLanguageCode, которые могут быть установлены в sh404SEF.

Основная функция создания URL

В эту часть кода, автор должен написать, определение того, какими должны быть URL-адреса, в соответствии с внутренней структурой компонента. Это делается путем заполнения массива $title. Каждый элемент URL просто добавляется в массив, в том же порядке, в каком он должен появиться в окончательном URL. sh404SEF будет обрабатывать этот массив для получения окончательного URL-адреса.

Кроме того, sh404SEF обеспечивает механизм, с помощью которого Вы можете решить, оставлять ли некоторые переменные в URL-адресе или нет. Например, давайте посмотрим на этот URL без ЧПУ:

  • index.php?option=myComponent&task=viewUserDetails &userId=2456&Itemid=23

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

  • This-is-my-User-name/View-user-details.html

Или вместо этого частично отредактировать ЧПУ, например так: 

  • View-user-details.html?userId=2456

Это хорошее решение в тех случаях, где нужно применять URL-адреса ЧПУ. Будет генерироваться большое количество записей в базе данных. Несколько примеров:

  • Компонент обработки пользователей. Там может быть ссылка для просмотра деталей, для обновления записи пользователя, удаления пользователя, печати, экспорта и т.д. для каждого отдельно взятого пользователя. Это хорошо, если у Вас всего несколько десятков пользователей, а если несколько сотен, или Вы планируете иметь несколько тысяч пользователей, то это, вероятно, лучше идентификацию пользователя в GET переменной, вместо того чтобы возвращать его ID.
  • Переменные limit и limitstart используются Joomla! для многостраничной обработки. Опять же, большое количество статей или пунктов может вызвать чрезмерное потребление пространства в базе данных.

Вообщем говоря, предполагается, что параметры для передачи чего-либо имеет смысл исключить из части текста в URL-адресе. Важно решить еще и то, как Ваш ЧПУ URL будет выглядеть. Хорошо также предоставить пользователям возможность изменять формат URL, в зависимости от их конкретных потребностей, объема сайта и т.д. На данный момент, sh404SEF не предоставляет средство для интеграции параметров сторонних плагинов, не производимых с sh404SEF. Так что если Вы добавляете пользовательские параметры, Вы должны сделать это в свою панель управления.

Завершающий этап

Функции вызова sh404SEF. Вы не должны изменять этот код. Вы можете использовать массив $dosef, но только в особенной ситуации, то есть, например, если Вы решили по каким-то причинам не создавать реальные ЧПУ URL.

Завершающий код:

  • // ------------------ standard plugin finalize function - don't change --------------------------- 
    if ($dosef){
    $string = shFinalizePlugin( $string, $title, $shAppendString, $shItemidString,
    (isset($limit) ? @$limit : null), (isset($limitstart) ? @$limitstart : null),
    (isset($shLangName) ? @$shLangName : null));
    }
    // ------------------ standard plugin finalize function - don't change ---------------------------

Рекомендуемый хостинг для сайта:

Лучшие видеокурсы по созданию сайтов:

Оптимизация сайта

При заказе оптимизации и продвижения сайта - новый сайт или редизайн старого - сделаем бесплатно
(обращайтесь лично ко мне: Игорь Вялов )
Обсуждение SEO-энциклопедии на форуме
Видео-уроки SEO — оптимизация Joomla »

  • Категория: FAQs
  • Просмотров: 5255

Комментарии (0)

Оставить комментарий

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

Навигатор: Документация sh404sef FAQs Создание плагина для sh404SEF — Анатомия плагина.