Jump to content


Photo
- - - - -

Автогеренируемый slug

slug

Best Answer SmetDenis , 09 November 2014 - 11:45

Это можно сделать только изменив функцию getUniqueAlias
в файле administrator\components\com_zoo\helpers\alias.php

s6r6_200x0.png

            if ($this->_table instanceof ItemTable) {
                $new_alias = 'prefix-' . $new_alias;
            }
Функция используется для генерации и проверке всех алиасов. Могут быть последствия...

Еще один вариант
В файле administrator\components\com_zoo\tables\item.php метод save()

1km2_200x0.png

        if (!preg_match('#^' . preg_quote('prefix-') . '#i', $object->alias)) {
            $object->alias = 'prefix-' . $object->alias;
        }

Помните, что это изменение важных функций Zoo, поэтому на свой страх и риск. Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 l1far

l1far
  • JBZoo User (rus)
  • User rate: 0
  • posts: 43
  • topics: 14

Posted 08 November 2014 - 15:31

Добрый день, на сегодняшний день прибавлении нового тема его slug/alias генерится по его имени, как бы мне сделать так, чтобы каждый раз к нему в начале добавлялась одна и та же производная типа: "*something*_*itemname*" 

 

Спасибо


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 09 November 2014 - 11:45   Best Answer

Это можно сделать только изменив функцию getUniqueAlias
в файле administrator\components\com_zoo\helpers\alias.php

s6r6_200x0.png

            if ($this->_table instanceof ItemTable) {
                $new_alias = 'prefix-' . $new_alias;
            }
Функция используется для генерации и проверке всех алиасов. Могут быть последствия...

Еще один вариант
В файле administrator\components\com_zoo\tables\item.php метод save()

1km2_200x0.png

        if (!preg_match('#^' . preg_quote('prefix-') . '#i', $object->alias)) {
            $object->alias = 'prefix-' . $object->alias;
        }

Помните, что это изменение важных функций Zoo, поэтому на свой страх и риск.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 l1far

l1far
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 43
  • topics: 14

Posted 09 November 2014 - 11:52

А нельзя эту проблему решить с другой стороны, например, если не генерить slug, а генерить name, чтобы zoo потом спокойно себе занимался своими делами?

 

Конкретно ваше решение мне не поможет, потому что у меня 2 базы и им нужно 2 разных slug.


Edited by l1far, 09 November 2014 - 12:23.

  • 0

#4 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 09 November 2014 - 11:58

А нельзя эту проблему решить с другой стороны, например, если не генерить slug, а генерить name, чтобы zoo потом спокойно себе занимался своими делами?


А зачем такие сложности?
И как можно создавать имя материала автоматически?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 l1far

l1far
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 43
  • topics: 14

Posted 09 November 2014 - 12:43

А зачем такие сложности?
И как можно создавать имя материала автоматически?

 

Ну собственно вопрос в этом и состоит - как? Хотелось бы чтобы ссылки были seo оптимизированы.

 

Еще один вопрос немного офтоповый, но тоже относительно ссылок. Сегодня у меня есть 2 пункта в меню, один на главную категорию, второй на frontpage. При переходе на фронт, когда кликаем на итем итем имеет ссылку /category/itemname а хотелось бы /frontpage/itemname 

 

Как такое реализовать?


  • 0

#6 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 10 November 2014 - 14:13

К сожалению, я не знаю подобных методов создания имени материала из ничего. Разве что порядковый номер подставлять.
Сейчас алиасы - это транслитерация имен материалов. Вполне удобный вариант для seo.


Еще один вопрос немного офтоповый, но тоже относительно ссылок. Сегодня у меня есть 2 пункта в меню, один на главную категорию, второй на frontpage. При переходе на фронт, когда кликаем на итем итем имеет ссылку /category/itemname а хотелось бы /frontpage/itemname
Как такое реализовать?


Думаю вам для этого стоит поменять местами главную категорию с frontpage.
Вообще frontpage - это особая категория в системе и относительно её ссылки будут создаваться только если вложенным категориями не назначены пункты меню (у frontpage приоритет ниже).

Либо вместо frontpage используйте отдельную категорию.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.






Also tagged with one or more of these keywords: slug

Click to return to top of page in style!