Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 1338 Просмотров
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
День добрый, переношу магазин с одного движка на VirtueMart 2.6.14  Проблема в том что на старом движке окончание имеет вид /?prodcat_p=2942 Никак не могу повторить такое же сочетание, т к в псевдониме автоматом переводится на /prodcat_p-2942-detail  (с суффиксом -detail, я думаю разберусь сам), а вот как сделать чтобы не удалялся знак ? и не менялся знак = на дефис?
Может подскажете как это сделать?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Zlodey, не пишите в личку по общим вопросам.
По вашему вопросу: сделать можно, но непросто - дело в том, что ?prodcat_p=2942 представляет собой переменную $_SERVER['QUERY_STRING'].
Подсказка: в router.php, функции getProductName() добавьте перед return такую строку
Код: php-brief
$name='?'.substr_replace($name,'=',strrpos($name,'-'),1);
Но это только приведет ссылку в желаемый вид, основная работа же - распарсить ее.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Писать в личку не буду, извините. При добавлении данной строки, ничего не происходит. Прописываю в псевдониме ?prodcat_p=2942  все равно после сохранения - автоматом убирается знак ? , а знак = меняется на тире
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В /components/com_virtuemart/router.php? Думаю, что не туда. Но учтите, что ссылки работать не будут без дальнейшей доработки.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Да, внедрял строку как раз в /components/com_virtuemart/router.php 
/* Get URL safe Product name */
   public function getProductName($id){

      static $productNamesCache = array();

      if(!isset($productNamesCache[$id])){
         $db = JFactory::getDBO();
         $query = 'SELECT `slug` FROM `#__virtuemart_products_'.$this->vmlang.'`  ' .
            ' WHERE `virtuemart_product_id` = ' . (int) $id;
         $db->setQuery($query);
         $name = $db->loadResult();
         $productNamesCache[$id] = $name ;
      } else {
         $name = $productNamesCache[$id];
      }
сюда!!
      return $name.$this->seo_sufix;
   }
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Как выглядит новая ссылка? На псевдоним не смотреть.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
При создании нового товара, ссылка - главная страница сайта. В псевдониме кирилица (как и всегда)
При изменении псевдонима вручную на нужное мне окончание, получаю именно то, что нужно, но при клике остаюсь на этой же странице.
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Но в админке в поле псевдонима все равно знак вопроса, и равно поменялись автоматом как и раньше (? это просто удалился, а = поменялось на тире)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Уважаемый, вам нужно сохранить старые ссылки вида /?prodcat_p=2942, верно? Получили их и хорошо, какая разница, что у вас там в псевдонимах?
получаю именно то, что нужно, но при клике остаюсь на этой же странице.
Я об этом писал выше, и не раз. От меня готового решения не будет, доработайте сами.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Zlodey

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Понял Вас, ну буду думать. Спасибо большое.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться