Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Вот такая ссылка генерируется в группах при создании обсуждения!!  

Пример:
Цитировать
/community/groups/viewdiscussion/1-%D0%9F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5+%D1%84%D0%BE%D1%82%D0%BE%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8.html?groupid=3

/community/groups/viewdiscussion/1-Полезные+фотоссылки.html?groupid=3
« Последнее редактирование: 02.04.2011, 13:08:28 от kharol »
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Пробуйте использовать компонент SH404SEF, он поддерживает JomSocial.
Так же для него есть коммерческий плагин JomSocial sh404SEF
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
А разве нельзя подправить router.php
Код
  

// Testing Merge



function CommunityBuildRoute(&$query)

{

    $segments = array();

    $escapeRouteChar    = array('.', '-', '\\', '/', '@', '#', '?', '!', '^', '&', '<', '>', '\'' , '"' );

    include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php');

    $config =& CFactory::getConfig();



    // Profile based,

    if(array_key_exists( 'userid', $query))

    {

        $user        = CFactory::getUser( $query['userid'] );
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Ну да.. точно... Никто просто до Вас не догадался...и плагин за 20 евро просто так написали... Не говоря уже про компонент sh404SEF
Пробуйте, тогда не задавая вопросов.
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Ну да.. точно... Никто просто до Вас не догадался...и плагин за 20 евро просто так написали... Не говоря уже про компонент sh404SEF
Пробуйте, тогда не задавая вопросов.
Я смог заменить не совсем всё получилось...)))
На форуме kunena была такая же проблема...)))  
Делал по аналогии, как здесь:
http://www.kunena.com/forum/158-k-16-test-reports-archive/58377-encoding

Find router.php
Код
	function filterOutput($str){
return trim(preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str));
}

Changing
Код
	function filterOutput($str)
{
    // { Cha0sHead
                $gost = array(
                   "Рђ"=>"A","Р‘"=>"B","Р’"=>"V","Р“"=>"G","Р”"=>"D",
                   "Р•"=>"E","РЃ"=>"JO","Р–"=>"ZH",
                   "Р—"=>"Z","Р˜"=>"I","Р™"=>"J","Рљ"=>"K","Р›"=>"L",
                   "Рњ"=>"M","Рќ"=>"N","Рћ"=>"O","Рџ"=>"P","Р "=>"R",
                   "РЎ"=>"S","Рў"=>"T","РЈ"=>"U","Р¤"=>"F","РҐ"=>"H",
                   "Р¦"=>"C","Р§"=>"CH","РЁ"=>"SH","Р©"=>"SHH","РЄ"=>"",
                   "Р«"=>"Y","Р¬"=>"","Р­"=>"JE","Р®"=>"YU","РЇ"=>"YA",
                   "Р°"=>"a","Р±"=>"b","РІ"=>"v","Рі"=>"g","Рґ"=>"d",
                   "Рµ"=>"e","С‘"=>"jo","Р¶"=>"zh",
                   "Р·"=>"z","Рё"=>"i","Р№"=>"j","Рє"=>"k","Р»"=>"l",
                   "Рј"=>"m","РЅ"=>"n","Рѕ"=>"o","Рї"=>"p","СЂ"=>"r",
                   "СЃ"=>"s","С‚"=>"t","Сѓ"=>"u","С„"=>"f","С…"=>"h",
                   "С†"=>"c","С‡"=>"ch","С?"=>"sh","С‰"=>"shh","СЉ"=>"",
                   "С‹"=>"y","СЊ"=>"","СЌ"=>"je","СЋ"=>"yu","СЏ"=>"ya"," "=>"-"
                );
              
                $str1 = trim($str);
                $str1=strtr($str1, $gost);
$str1=preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1);
              
                // remove any '-' from the str they will be used as concatonater
                $str1 = str_replace ('-', ' ', $str1);

                // lowercase and trim
                $str1 = trim (strtolower ($str1));
 
                // remove any duplicate whitespace, and ensure all characters are alphanumeric
                $str1 = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-','-'), $str1);

return $str1;
// Cha0sHead }

//off// return trim(preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str));
}
« Последнее редактирование: 18.10.2010, 22:34:52 от leo78 »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
запости весь router.php
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Кстати чтобы превратить в такую ссылку
Цитировать
/community.html?view=groups&task=viewbulletin&groupid=3&bulletinid=1

Код
// Testing Merge



function CommunityBuildRoute(&$query){

$segments = array();

                $gost = array(
                   "Рђ"=>"A","Р‘"=>"B","Р’"=>"V","Р“"=>"G","Р”"=>"D",
                   "Р•"=>"E","РЃ"=>"JO","Р–"=>"ZH",
                   "Р—"=>"Z","Р˜"=>"I","Р™"=>"J","Рљ"=>"K","Р›"=>"L",
                   "Рњ"=>"M","Рќ"=>"N","Рћ"=>"O","Рџ"=>"P","Р "=>"R",
                   "РЎ"=>"S","Рў"=>"T","РЈ"=>"U","Р¤"=>"F","РҐ"=>"H",
                   "Р¦"=>"C","Р§"=>"CH","РЁ"=>"SH","Р©"=>"SHH","РЄ"=>"",
                   "Р«"=>"Y","Р¬"=>"","Р­"=>"JE","Р®"=>"YU","РЇ"=>"YA",
                   "Р°"=>"a","Р±"=>"b","РІ"=>"v","Рі"=>"g","Рґ"=>"d",
                   "Рµ"=>"e","С‘"=>"jo","Р¶"=>"zh",
                   "Р·"=>"z","Рё"=>"i","Р№"=>"j","Рє"=>"k","Р»"=>"l",
                   "Рј"=>"m","РЅ"=>"n","Рѕ"=>"o","Рї"=>"p","СЂ"=>"r",
                   "СЃ"=>"s","С‚"=>"t","Сѓ"=>"u","С„"=>"f","С…"=>"h",
                   "С†"=>"c","С‡"=>"ch","С?"=>"sh","С‰"=>"shh","СЉ"=>"",
                   "С‹"=>"y","СЊ"=>"","СЌ"=>"je","СЋ"=>"yu","СЏ"=>"ya"," "=>"-"
                );

                $str1 = trim($str);
                $str1=strtr($str1, $gost);
$str1=preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1);
              
                // remove any '-' from the str they will be used as concatonater
                $str1 = str_replace ('-', ' ', $str1);

                // lowercase and trim
                $str1 = trim (strtolower ($str1));
 
                // remove any duplicate whitespace, and ensure all characters are alphanumeric
                $str1 = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-','-'), $str1);

return $str1;
// Cha0sHead }

//off// $escapeRouteChar = array('.', '-', '\\', '/', '@', '#', '?', '!', '^', '&', '<', '>', '\'' , '"' );

include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php');

$config =& CFactory::getConfig();
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
ChaosHead Вот весь:
Код
<?php

/**

 * @package JomSocial

 * @subpackage Core

 * @copyright (C) 2008 by Slashes & Dots Sdn Bhd - All rights reserved!

 * @license GNU/GPL, see LICENSE.php

 */



defined('_JEXEC') or die('Restricted access');

// Testing Merge



function CommunityBuildRoute(&$query)

{

$segments = array();

$escapeRouteChar = array('.', '-', '\\', '/', '@', '#', '?', '!', '^', '&', '<', '>', '\'' , '"' );

include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php');

$config =& CFactory::getConfig();



// Profile based,

if(array_key_exists( 'userid', $query))

{

$user = CFactory::getUser( $query['userid'] );



// Since 1.8.x we will generate URLs based on the vanity url.

$alias = $user->getAlias();

if( !empty($alias) )

{

$segments[] = $alias;

}

else

{

$alias = JFilterOutput::stringURLSafe( $user->username );

$segments[] = $user->id . '-' . $alias;

}

unset($query['userid']);

}



if(isset($query['view']))

{

if(empty($query['Itemid']))

{

$segments[] = $query['view'];

}

else

{

$menu = &JSite::getMenu();

$menuItem = &$menu->getItem( $query['Itemid'] );



if(!isset($menuItem->query['view']) || $menuItem->query['view'] != $query['view'])

{

$segments[] = $query['view'];

}

}

unset($query['view']);

}



if(isset($query['task']))

{

switch( $query['task'] )

{

case 'viewgroup':

$db =& JFactory::getDBO();

$groupid =   $query['groupid'];

$groupModel =& CFactory::getModel('groups');

$group =& JTable::getInstance( 'Group' , 'CTable' );

$group->load($groupid);



$segments[] = $query['task'];

$groupName = $group->name;



foreach($escapeRouteChar as $escapeChar)

{

$groupName = JString::str_ireplace($escapeChar, '', $groupName);

}



$groupName = urlencode($groupName);

$groupName = JString::str_ireplace('++', '+', $groupName);

$segments[] = $groupid . '-' . $groupName;



unset($query['groupid']);

break;

case 'viewevent':

$id = $query['eventid'];

$event =& JTable::getInstance( 'Event' , 'CTable' );

$event->load( $id );



$segments[] = $query['task'];

$name = $event->title;



foreach($escapeRouteChar as $escapeChar)

{

$name = JString::str_ireplace($escapeChar, '', $name);

}



$name = urlencode( $name );

$name = JString::str_ireplace('++', '+', $name);

$segments[] = $event->id . '-' . $name;

unset( $query['eventid'] );

break;

case 'video':

$videoModel =& CFactory::getModel('Videos');

$videoid = $query['videoid'];



$video =& JTable::getInstance( 'Video' , 'CTable' );

$video->load( $videoid );



// We need the task for video otherwise we cannot differentiate between myvideos

// and viewing a video since myvideos also doesn't pass any tasks.

$segments[] = $query['task'];



$title = trim( $video->title );

foreach($escapeRouteChar as $escapeChar)

{

$title = JString::str_ireplace($escapeChar, '', $title);

}

$title = urlencode( $title );

$title = JString::str_ireplace( '++' , '+' , $title );

$segments[] = $video->id . '-' . $title;

unset( $query['videoid'] );

break;

case 'viewdiscussion':

$db =& JFactory::getDBO();

$topicId =   $query['topicid'];

$discussionsModel =& CFactory::getModel('discussions');

$discussions =& JTable::getInstance( 'Discussion' , 'CTable' );

$discussions->load($topicId);



$segments[] = $query['task'];

$discussionName = $discussions->title;



foreach($escapeRouteChar as $escapeChar)

{

$discussionName = JString::str_ireplace($escapeChar, '', $discussionName);

}



$discussionName = urlencode($discussionName);

$discussionName = JString::str_ireplace('++', '+', $discussionName);



$segments[] = $topicId . '-' . $discussionName;

unset($query['topicid']);

break;

case 'viewbulletin':

$db =& JFactory::getDBO();

$bulletinid =   $query['bulletinid'];

$bulletinsModel =& CFactory::getModel('bulletins');

$bulletins =& JTable::getInstance( 'Bulletin' , 'CTable' );

$bulletins->load($bulletinid);



$segments[] = $query['task'];

$bullentinName = $bulletins->title;



foreach($escapeRouteChar as $escapeChar)

{

$bullentinName = JString::str_ireplace($escapeChar, '', $bullentinName);

}



$bullentinName = urlencode($bullentinName);

$bullentinName = JString::str_ireplace('++', '+', $bullentinName);



$segments[] = $bulletinid . '-' . $bullentinName;

unset($query['bulletinid']);

break;

default:

if( $query['task'] != 'myphotos' && $query['task'] != 'mygroups' && $query['task'] != 'myevents' && $query['task'] != 'myvideos' && $query['task'] != 'invites' )

{

$segments[] = $query['task'];

}

break;

}



unset($query['task']);

}



return $segments;

}



function CommunityParseRoute($segments)

{

$vars = array();



$menu =& JSite::getMenu();

$selectedMenu =& $menu->getActive();



// We need to grab the user id first see if the first segment is a user

// because once CFactory::getConfig is loaded, it will automatically trigger

// the plugins. Once triggered, the getRequestUser will only get the current user.

$count = count($segments);



if(!empty($count) )

{

$alias = $segments[0];

$userid = '';



if( !empty( $alias ) )

{

// Check if this user exists in the alias

$userid = CommunityGetUserId( $alias );



// Joomla converts ':' to '-' when encoding and during decoding,

// it converts '-' to ':' back for the query string which will break things

// if the username has '-'. So we do not have any choice apart from

// testing both this values until Joomla tries to fix this

if( !$userid && JString::stristr( $alias , ':' ) )

{

$userid = CommunityGetUserId( JString::str_ireplace( ':' , '-' , $alias ) );

}



// For users

if( !$userid )

{



if( JString::stristr( $alias , '-' ) )

{

$user = explode( '-' , $alias );



if( isset( $user[0] ) )

{

$userid = $user[0];

}

}



if( JString::stristr( $alias , ':' ) )

{

$user = explode( '-' , JString::str_ireplace( ':' , '-' , $alias ) );



if( isset( $user[0] ) )

{

$userid = $user[0];

}

}

}

}



if($userid != 0 )

{

array_shift($segments);

$vars['userid'] = $userid;

// if empty, we should display the user's profile

if(empty($segments))

{

$vars['view'] = 'profile';

}

}

}



$count = count($segments);

if( !isset($selectedMenu) )

{

if( $count > 0 )

{

// If there are no menus we try to use the segments

$vars['view']  = $segments[0];



if(!empty($segments[1]))

{

$vars['task'] = $segments[1];

}



if(!empty($segments[2] ) && $segments[1] == 'viewgroup' )

{

$groupTitle = $segments[2];

$vars['groupid'] = _parseGroup( $groupTitle );

}

}

return $vars;

}



if( $selectedMenu->query['view'] == 'frontpage' )

{

// We know this is a frontpage view in the menu, try to get the

// view from the segments instead.

if( $count > 0 )

{

$vars['view'] = $segments[0];



if(!empty($segments[1]))

{

$vars['task'] = $segments[1];

}

}

}

else

{

$vars['view'] = $selectedMenu->query['view'];



if( $count > 0 )

{

$vars['task'] = $segments[0];

}







// In case of video view, the 'task' (video) has been removed during

// BuildRoute. We need to detect if the segment[0] is actually a

// permalink to the actual video, and add the proper task

if($vars['view'] == 'videos' && (isset($vars['task']) && $vars['task'] != 'myvideos') )

{

$pattern = "'^[0-9]+'s";

$videoTitle = $segments[ count( $segments ) - 1 ];

preg_match($pattern, $videoTitle, $matches);



if($matches)

{

$vars['task'] = 'video';

}

}



// Since we don't specify task for myphotos we need to redefine it here

if( isset($vars['userid']) && $vars['view'] == 'photos' && !isset( $vars['task'] ) )

{

$vars['task'] = 'myphotos';

}



// Since we don't specify task for myvideos we need to redefine it here

if( isset($vars['userid']) && $vars['view'] == 'videos' && !isset( $vars['task'] ) )

{

$vars['task'] = 'myvideos';

}



// Since we don't specify task for mygroups we need to redefine it here

if( isset($vars['userid']) && $vars['view'] == 'groups' && !isset( $vars['task'] ) )

{

$vars['task'] = 'mygroups';

}



// Since we don't specify task for mygroups we need to redefine it here

if( isset($vars['userid']) && $vars['view'] == 'events' && !isset( $vars['task'] ) )

{

$vars['task'] = 'myevents';

}



// If the task is video then, query the last segment to grab the video id

if( isset($vars['task'] ) && $vars['task'] == 'video' )

{

$videoTitle = $segments[ count( $segments ) - 1 ];

$titles = explode('-', $videoTitle);

$vars['videoid'] = $titles[0];

}



// If the task is viewgroup then, query the last segment to grab the group id

if( isset($vars['task'] ) && $vars['task'] == 'viewgroup' )

{

$groupTitle = $segments[count($segments) - 1];

$vars['groupid'] = _parseGroup( $groupTitle );

}



// If the task is viewevent then, query the last segment to grab the eventid

if( isset($vars['task'] ) && $vars['task'] == 'viewevent' )

{

$title = $segments[ count($segments ) - 1 ];

$titles = explode( '-' , $title );

$vars['eventid'] = $titles[ 0 ];

}



// If the task is viewdiscussion then, query the last segment to grab the topic id

if( isset($vars['task'] ) && $vars['task'] == 'viewdiscussion' ){

$groupTitle = $segments[count($segments) - 1];

$titles = explode('-', $groupTitle);

$vars['topicid'] = $titles[0];

}



// If the task is viewgroup then, query the last segment to grab the group id

if( isset($vars['task'] ) && $vars['task'] == 'viewbulletin' ){

$groupTitle = $segments[count($segments) - 1];

$titles = explode('-', $groupTitle);

$vars['bulletinid'] = $titles[0];

}



return $vars;

}



function & _parseGroup( $title )

{

$titles = explode('-', $title);

$groupId = $titles[0];



return $groupId;

}



function CommunityGetUserId( $alias )

{

$db =& JFactory::getDBO();

$query = "SELECT `userid` FROM #__community_users WHERE `alias`=" . $db->Quote( $alias );

$db->setQuery($query);

$id = $db->loadResult();



return $id;

}

*

kharol

  • Moderator
  • 1721
  • 217 / 0
Кстати разработчики с роутером что то шаманили. Проверьте последней ли версии  он у Вас
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

kharol

  • Moderator
  • 1721
  • 217 / 0
В общем сами разработчики поднимают лапы к верху и просят использовать сторонние компоненты.
Но думаю проблема как раз в том, что они не могут написать один router для кучи языков. Поэтому пробуйте победить дефолтный.
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
В общем сами разработчики поднимают лапы к верху и просят использовать сторонние компоненты.
Но думаю проблема как раз в том, что они не могут написать один router для кучи языков. Поэтому пробуйте победить дефолтный.
У меня
JomSocial 1.8.10
Kunena 1.6.0
Что касается разработчиков, я дал ссылку, там есть высказывания: fxstein, Matias...
И не похоже, что этот метод им незнаком, а почему они его не реализовали, можно только гадать...))
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Кстати что б сделать такую ссылку:
http://www.foto-s.ru/community/A/B/V/G/D/E/JO/ZH/Z/I/J/K/L/M/N/O/P/R/S/T/U/F/H/C/CH/SH/SHH/Y/JE/YU/YA/a/b/v/g/d/e/jo/zh/z/i/j/k/l/m/n/o/p/r/s/t/u/f/h/c/ch/sh/shh/y/je/yu/ya/-/

Код
function CommunityBuildRoute(&$query)

{

//    $segments = array();

//    $escapeRouteChar    = array('.', '-', '\\', '/', '@', '#', '?', '!', '^', '&', '<', '>', '\'' , '"' );

$segments = array(
                   "Рђ"=>"A","Р‘"=>"B","Р’"=>"V","Р“"=>"G","Р”"=>"D",
                   "Р•"=>"E","РЃ"=>"JO","Р–"=>"ZH",
                   "Р—"=>"Z","Р˜"=>"I","Р™"=>"J","Рљ"=>"K","Р›"=>"L",
                   "Рњ"=>"M","Рќ"=>"N","Рћ"=>"O","Рџ"=>"P","Р "=>"R",
                   "РЎ"=>"S","Рў"=>"T","РЈ"=>"U","Р¤"=>"F","РҐ"=>"H",
                   "Р¦"=>"C","Р§"=>"CH","РЁ"=>"SH","Р©"=>"SHH","РЄ"=>"",
                   "Р«"=>"Y","Р¬"=>"","Р­"=>"JE","Р®"=>"YU","РЇ"=>"YA",
                   "Р°"=>"a","Р±"=>"b","РІ"=>"v","Рі"=>"g","Рґ"=>"d",
                   "Рµ"=>"e","С‘"=>"jo","Р¶"=>"zh",
                   "Р·"=>"z","Рё"=>"i","Р№"=>"j","Рє"=>"k","Р»"=>"l",
                   "Рј"=>"m","РЅ"=>"n","Рѕ"=>"o","Рї"=>"p","СЂ"=>"r",
                   "СЃ"=>"s","С‚"=>"t","Сѓ"=>"u","С„"=>"f","С…"=>"h",
                   "С†"=>"c","С‡"=>"ch","С?"=>"sh","С‰"=>"shh","СЉ"=>"",
                   "С‹"=>"y","СЊ"=>"","СЌ"=>"je","СЋ"=>"yu","СЏ"=>"ya"," "=>"-"
                );
               
                $title = trim($title);
                $title=strtr($title, $segments);


   $escapeRouteChar   = explode('-', $title);

    include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php');

    $config =& CFactory::getConfig();
*

Жук

  • Захожу иногда
  • 79
  • 7 / 0
При добавлении видео с сервисов типа YouTube в соцсеть ссылки на это видео в соцсети формируются из названия видео по схеме: порядковый номер видео, дефис, и все слова из названия видео в кириллице, разделенные плюсами. Пример: http://site.ru/video/user/video/1-Ловля+бабочек+сачком
Ссылка же для пользователей (чтобы поделиться и т.п.) получается енкодированной и совсем некрасивой. См. рисунок:

Как бы сделать автоматическую транслитерацию этих ссылок? Плагин yvTransliterate с JomSocial не захотел работать, хотя он автоматом транслитерирует и MyBlog, и Kunena, и джумловские статьи.

Странно... Создавал тему внутри одного из разделов, а выкинуло в общий.
« Последнее редактирование: 20.01.2011, 17:29:18 от Жук »
*

doc1705

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
jomsef JomSocial ставь, все чпу будут красивыми. покупал за 7,5евро плагин, могу поделиться за 5
*

dimma111

  • Захожу иногда
  • 83
  • 0 / 0
Проблема с чпу!
« Ответ #14 : 10.08.2011, 13:34:05 »
Есть видео, ссылка которого имеет следующий вид сайт.ру/social/dima/videos/video/1--
как убрать videos или video?
*

dimma111

  • Захожу иногда
  • 83
  • 0 / 0
Re: Проблема с чпу!
« Ответ #15 : 10.08.2011, 13:46:20 »
*

dimma111

  • Захожу иногда
  • 83
  • 0 / 0
Re: Проблема с чпу!
« Ответ #16 : 11.08.2011, 09:52:33 »
и еще как сделать транслитерацию ссылок?
*

antonickk

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
alias имени пользователя латиницей
« Ответ #17 : 01.09.2011, 14:27:24 »
Здравствуйте. В JomSocial при регистрации отображаемое имя пользователя используется для заполнения поля alias таблицы community_user. Если отображаемое имя пользователь указывает на латинице, то оно обрезается, и вместо например 63:Антон в базу вносится так: 63:. Где можно изменить, чтобы при регистрации либо происходила транслитерация с кириллицы на латиницу, например Антон в базу попадало как anton, либо вместо отображаемого имени при регистрации в поле alias вносилось имя пользователя (логин), он жестко врикручен к латинице. Очень надеюсь на помощь, иначе адрес получается к профилю типа site.ru/cummunity/63:, так как в адрес в конце подставляется значение поля alias.
*

GKRU

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
JomSocial и чпу в видео
« Ответ #18 : 17.09.2011, 17:10:08 »
Такая проблема - при добавлении видео с английским названием все просто отлично - создается линк с одноименным названием. Если же видео перевести на русский то вместо, например, video/7-grand-theft-auto-iv-ultimate-graphic-mods будет video/7-gta-iv--, т.е. не переводится кириллический текст.

Существует ли решение данной проблемы?

Кстати, поставил отличный плагин JomSocial Videos Module Extended, все классно, но в превьюшке вместо описания высвечивается просто "uploaded by..". Кто-то сталкивался?

Спасибо!
*

dimma111

  • Захожу иногда
  • 83
  • 0 / 0
Re: Как сделать url латинскими буквами
« Ответ #19 : 21.09.2011, 21:25:37 »
Такая проблема - при добавлении видео с английским названием все просто отлично - создается линк с одноименным названием. Если же видео перевести на русский то вместо, например, video/7-grand-theft-auto-iv-ultimate-graphic-mods будет video/7-gta-iv--, т.е. не переводится кириллический текст.

Существует ли решение данной проблемы?


Кстати, поставил отличный плагин JomSocial Videos Module Extended, все классно, но в превьюшке вместо описания высвечивается просто "uploaded by..". Кто-то сталкивался?

Спасибо!
Поставь плагин yvtransliterate, у меня заработало
*

GKRU

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Как сделать url латинскими буквами
« Ответ #20 : 23.09.2011, 23:39:15 »
Поставь плагин yvtransliterate, у меня заработало

не помогло :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать загрузку фото нужного размера?

Автор Сergei

Ответов: 4
Просмотров: 6196
Последний ответ 19.02.2013, 17:59:27
от komert
Как сделать чтобы приложения JomSocial были изначально в "свернутом" состоянии?

Автор 4.n

Ответов: 5
Просмотров: 2915
Последний ответ 11.02.2010, 15:00:19
от savosik