Долгое время вынашивал идею, чтобы заменить "page_slug" собственным значением. Например, чтобы "page_slug" содержал не название статьи в латинице, а к примеру id статьи или какой-то случайный номер. Посудите сами. Легче запомнить ссылку на статью вида site.ru/page/p3215, чем такой - site.ru/page/eto-moja-luchshaja-statja-zdes. Оказалось, что решение проблемы состоит в поиске нужной функции и ее изменении. Подробности ниже.
Итак, нужная функция лежит в файле common/functions-edit.php. Имя функции mso_new_page(). Строка 597. Вот тут-то и начинается все самое интересное. Проверки, присваивание и т.д. Можно увидеть, как используется mso_slug() - функция перевода кириллицы в латиницу. Не долго думая, я вписал свой кусок кода после функции проверки page_slug на пустое значение.
//дата вместо короткой ссыдки, задать в админке нельзя
if ($page_slug)
{
$page_slug = 'p' . date('dmyHi');
}
Ситуация в корне изменилась, теперь слуг стал гораздо короче и запомнить его легче, да и ссылками делиться легче и удобнее. Но возникло несколько вопросов: Как реализовать возможность работы с отключением и включением данной функции из админки? У кого есть какие варианты, по изменению page_slug, отличному от моего?
- Прикрутим к этому сайту магазин?
- Как собирать идеи по движку - предложение
- Идея: демонстрационный сайт на Maxsite CMS с админкой
- Нужен урок как верстку натянуть на новую версию движка махсайта
- Опрос: полная кастомизация html-вывода
- maxSite: SEO, шаблоны, валидность, Холиварчик?
- Решаем проблемы: спамеры научились регистрироваться
Так то можно использовать мой плагин ЧПУ и достичь того же эффекта, да. Но понятно, что это дополнительная нагрузка и задачу хотелось бы решить без привлечения «крупной артиллерии». Но вот как сделать по твоему варианту - пока затрудняюсь ответить. Очевидно нужно плагин писать, который бы перехватывал момент сохранения новой записи и переопределял значение параметра page_slug ещё до сохранения записи в базу. Там (в функции) вроде такое возможно сделать.
Если писать плагин, то он будет скорее "админский", чем пользовательский. Хотя это не так существенно. Возможно стоит поработать с хуком "new_page", "new_page_", "new_page_publish". Но я понятия не имею как с ними работать. Хотя вариант варианты по замене slug возможны следующие: id страницы, дата публикации и?