Новости Joomla

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

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Парни, подскажите плз, можно ли как-то реализовать мультиязычность для AdsManager 2.6.5 на Joomla 1.7?
« Последнее редактирование: 11.11.2011, 21:40:44 от Dgikar »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #1 : 11.11.2011, 22:26:31 »
можно, встроенными средствами Joomla!
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #2 : 11.11.2011, 23:04:00 »
можно, встроенными средствами Joomla!
Наставь плз на путь истинный - объясни как
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #4 : 12.11.2011, 15:35:32 »
наствляю - читайте здесь http://www.blognote.by/joomla/joomla-articles/47-multilanguage-in-joomla17
Ну, про включение многоязычности в Joomla - я знаю, а вот как в AdsManager 2.6.5 сделать те же категории, возможность пользователю, добавлять товар на нескольких языках - вот это как сделать - не пойму... Если в модулях, меню и пр., есть выпадающий список, с установленными языками (для выбора, на каком языке, этот модуль будет отображаться), то, при создании тех же категорий в AdsManager 2.6.5, я не нашел этого выпадающего списка...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #5 : 12.11.2011, 17:38:56 »
мда, действительно! категории только вручную делать, на автомате не получится!
Как сделать вручную:
1. найти в коде компонента все вызовы названия категории и обернуть их в JText::_
2. поместить заголовки категорий с переводом в нужные языковые файлы
не очень удобно, но зато выполнимо :)
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #6 : 12.11.2011, 18:22:37 »
... найти в коде компонента все вызовы названия категории и обернуть их в JText::_ ...
А не подскажешь, что именно искать? Как выглядит этот вызов?

... поместить заголовки категорий с переводом в нужные языковые файлы ...
Т. е., помимо того, что нужно создать несколько сот категорий в самом AdsManager 2.6.5, дак еще и в языковых файлах, нужно дублировать...? Это не реально (ну, т. е., реально, но, на это, уйдет не один месяц работы...), и, как быть с добавлением пользователем объявы на нескольких языках?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #7 : 12.11.2011, 19:38:48 »
Как это выглядит в моих глазах:
Выводите в модуле переключатель языков, выбираете язык по умолчанию (допустим русский). Пользователь заходит на сайт, добавляет объявление (при этом заголовки категорий и полей будут на русском). Затем, если требуется, переключает сайт на другой язык, добавляет новое объявление на выбранном языке.

По поводу несколько сот категорий - думаю Вам следует как-то переработать структуру сайта, т.к. ЭдсМэнэджер очень тяжко работает с большим количеством категорий. На счёт "уйдёт не один месяц работы" это Вы уж приукрасили, за 1-2 дня можно сделать, если знать какие конкретно категории создавать и языки для перевода
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dgikar

  • Захожу иногда
  • 192
  • 3 / 0
  • Я только учусь
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #8 : 12.11.2011, 20:10:41 »
... Пользователь заходит на сайт, добавляет объявление (при этом заголовки категорий и полей будут на русском). Затем, если требуется, переключает сайт на другой язык, добавляет новое объявление на выбранном языке ...
Как-то не "юзебилити" выходит...

... ЭдсМэнэджер очень тяжко работает с большим количеством категорий ...
Выходит, мне, нужно обратить внимание на что-то другое - ZOO, SOBI... Но, в ZOO нет возможности соединить 2-а каталога - каталог товаров, и каталог компаний, так, чтобы при просмотре инфы о компании, показывались товары (из каталога товаров), этой компании, и наоборот + нет возможности сделать тарифные планы... А в SOBI, за добавление более одного объявления, нужно платить компании за "лишнюю" объяву, а я, планировал, сделать это (оплату) на тарифных планах, т. е., заплатила мне какая-то компания $10 - разместить может только 10-ть объяв, заплатила $40 - 40-к объяв размещает + какой-то бонус в виде баннера или еще что-то...

Может что-то посоветуете (сорри, что не в тему вопрос задаю, но, так вышло...)?
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #9 : 22.06.2012, 17:31:52 »
Возможно ли реализовать при переключении языка перевод категорий?
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #10 : 25.06.2012, 10:39:35 »
Предполагаю должно быть где-то так:
в разделе категорий добавить еще одно поле для ввода названия категории на другом языке, а потом задать условие что при изменении языка будет отображаться названия категорий на том языке, который выбрали.
Первое реализовать не проблема, а вот с условием?
Может кто поможет развить тему?
AdsManager 2.6.5 + Joomla 2.5
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #11 : 21.12.2012, 02:49:15 »
Предполагаю должно быть где-то так:
в разделе категорий добавить еще одно поле для ввода названия категории на другом языке, а потом задать условие что при изменении языка будет отображаться названия категорий на том языке, который выбрали.
Первое реализовать не проблема, а вот с условием?
Может кто поможет развить тему?
AdsManager 2.6.5 + Joomla 2.5
видел реализацию такого метода на некоторых сайтах Joomla, вот только смысл какой?
допустим сайт на русском по умолчанию, нажали на кнопку "язык немецкий", название всех категорий изменилось на немецкие названия, а как же объявления? - они-то как были на русском, так и остаются ими, и никак это не переделаешь...
на крайний случай будут объявления 2-х языков на сайте, но это уже мусорная свалка получается...
*

AdWeb

  • Давно я тут
  • 879
  • 31 / 3
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #12 : 28.02.2013, 19:01:54 »
не знаю как на пред версии, но на версии 2,7 столкнулся с проблемой, что после создания объявления, оно не доступно - ошибка 404 категория не доступна, хотя если зайти через меню в категорию список объявлений есть, но они не открываются:)
на английском такой проблемы нет, чтот не пойму куда копать

ps. заметил еще одну фишку в рус версии добавляется чтот типа суффикса, когда название объявления на русском (6-test) тогда как в английской версии сайта только (6-), при создании названия на английском путь одинаковый но в рус части он все равно не открывается.
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #13 : 03.03.2013, 10:51:28 »
Вот нашел как реализовать перевод категорий и столбцов в ads 2.7
1) Ставим falang последней версии
2) так как он по началу ничего не видит связанного с adsmanagerом, то натравливаем его с помощью XML файликов:
adsmanager_categories.xml
Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Categories</name>
  <author>Nico</author>
  <version>1.0</version>
  <description>Categories for AdsManager</description>
  <reference>
  <table name="adsmanager_categories">
  <field type="referenceid" name="id" translate="0">ID</field>
  <field type="titletext" name="name" translate="1">Title</field>
  <field type="textarea" name="description" translate="1">Description</field>
  </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>

adsmanager_columns.xml

Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Columns</name>
  <author>Martijn van Vreeden</author>
  <version>1.0</version>
  <description>Columns for Adserver</description>
  <reference>
  <table name="adsmanager_columns">
  <field type="referenceid" name="id" translate="0">ID</field>
  <field type="titletext" name="name" translate="1">Title</field>
  </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>
3)найти в фаланге новые поля и зайдя в них переводить как хотите(мануал по фалангу прост)
4)тока фаланг хочет копирайт везде вставить убрать его можно после редактирования файликов falangdriver.php и FalangManager.class.php по адрессу
...........\www\plugins\system\falangdriver\
...........\www\administrator\components\com_falang\classes\
могу выложить готовые тока не знаю как залить на форум
« Последнее редактирование: 03.03.2013, 11:01:52 от big-z »
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #14 : 03.03.2013, 11:04:51 »
Вот тока хочу спросить местных гуру так как сам новичок в программировании:

Как реализовать на основе выложенной мной схемы перевод стран, городов и регионов в ajaxcity?
Буду очень благодарен за наставление.
« Последнее редактирование: 11.03.2013, 12:04:18 от big-z »
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #15 : 03.03.2013, 11:10:54 »
Кстати вот  содержание отредактированных вышеупомянутых файликов
falangdriver.php
Код
<?php
/**
 * @package     Falang Driver
 * @subpackage  Add Falang Driver
 * @license     GNU General Public License Version 2, or later http://www.gnu.org/licenses/gpl.html
 */
defined( '_JEXEC' ) or die( 'Restricted access' );

//Global definitions use for front
if( !defined('DS') ) {
    define( 'DS', DIRECTORY_SEPARATOR );
}


jimport('joomla.plugin.plugin');

/**
 * Falang Driver Plugin
 */
class plgSystemFalangdriver extends JPlugin
{

    public function __construct(& $subject, $config = array())
    {
        parent::__construct($subject, $config);
    $this->loadLanguage();

        // This plugin is only relevant for use within the frontend!
        if (JFactory::getApplication()->isAdmin())
        {
            return;
        }
    }

    /**
     * System Event: onAfterInitialise
     *
     * @return string
     */
    function onAfterInitialise()
    {
        // This plugin is only relevant for use within the frontend!
        if (JFactory::getApplication()->isAdmin())
        {
            return;
        }
        $this->setupDatabaseDriverOverride();
    }

    public function isFalangDriverActive() {
        $db = JFactory::getDBO();
        if (!is_a($db,"JFalangDatabase")){
           return false;
        }
           return true;
    }

    function onAfterDispatch()
    {
        if (JFactory::getApplication()->isSite() && $this->isFalangDriverActive()) {
            include_once( JPATH_ADMINISTRATOR . '/components/com_falang/version.php');
            $version = new FalangVersion();
            if ($version->_versiontype != 'basic' && $version->_versiontype !='standard' ) {
                $doc = JFactory::getDocument();
                $cacheBuf = $doc->getBuffer('component');

                $cacheBuf2 ='';

                if ($doc->_type == 'html')
                    $doc->setBuffer($cacheBuf . $cacheBuf2,'component');
            }
            return true;
        }
    }

    function setupDatabaseDriverOverride()
    {
        //override only the override file exist
        if (file_exists(dirname(__FILE__). '/falang_database.php'))
        {

            require_once( dirname(__FILE__). '/falang_database.php');

            $conf = JFactory::getConfig();

            $host = $conf->get('host');
            $user = $conf->get('user');
            $password = $conf->get('password');
            $db = $conf->get('db');
            $dbprefix = $conf->get('dbprefix');
            $driver = $conf->get('dbtype');
            $debug = $conf->get('debug');

            $options = array('driver' => $driver,"host" => $host, "user" => $user, "password" => $password, "database" => $db, "prefix" => $dbprefix, "select" => true);
            $db = new JFalangDatabase($options);
            $db->debug($debug);


            if ($db->getErrorNum() > 2)
            {
                JError::raiseError('joomla.library:' . $db->getErrorNum(), 'JDatabase::getInstance: Could not connect to database <br/>' . $db->getErrorMsg());
            }

            // replace the database handle in the factory
            JFactory::$database = null;
            JFactory::$database = $db;

            $test = JFactory::getDBO();

        }

   
    }


}

и
falFalangManager.class.php

Код
<?php
/**
*/



/** ensure this file is being included by a parent file */
defined( '_JEXEC' ) or die( 'Restricted access' );

/**
 * The FalangManager controls all important configuration and information
 * of the content elements. These information might be cached in the session
 * settings if necessary in furture.
 *
 * @package JoomFish
 * @subpackage administrator
 * @copyright 2003 - 2011, Think Network GmbH, Munich
 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
 * @version 2.1, $Revision: 1551 $
 * @author Alex Kempkens <joomfish@thinknetwork.com>
*/
class FalangManager {

    public static $instance = null;

/** @var array of all known content elements and the reference to the XML file */
var $_contentElements;

/** @var string Content type which can use default values */
var $DEFAULT_CONTENTTYPE="content";

/** @var config Configuration of the map */
var $_config=null;

/** @var Component config */
var $componentConfig= null;

/** PrimaryKey Data */
var $_primaryKeys = null;

/** @var array for all system known languages */
var $allLanguagesCache=array();

/** @var array for all languages listed by shortcode */
var $allLanguagesCacheByShortcode=array();

/** @var array for all languages listed by ID */
var $allLanguagesCacheByID=array();

/** @var array for all active languages */
var $activeLanguagesCache=array();

/** @var array for all active languages listed by shortcode */
var $activeLanguagesCacheByShortcode=array();

/** @var array for all active languages listed by ID */
var $activeLanguagesCacheByID=array();

/** Standard constructor */
function FalangManager() {
include_once(FALANG_ADMINPATH .DS. "models".DS."ContentElement.php");

                // now redundant
$this->_loadPrimaryKeyData();

$this->activeLanguagesCache = array();
$this->activeLanguagesCacheByShortcode = array();
$this->activeLanguagesCacheByID = array();
// get all languages and split out active below
$langlist = $this->getLanguages(false);
$this->_cacheLanguages($langlist);

// Must get the config here since if I do so dynamically it could be within a translation and really mess things up.
$this->componentConfig = JComponentHelper::getParams( 'com_falang' );
}

public static function getInstance($adminPath=null){
        if (!self::$instance) {
self::$instance = new FalangManager($adminPath);
}
return self::$instance;
}

    public static function GetFalangGlobalMeta() {
        return '7e67a2b00c5945500a397e082fed1863'; // falang.global.meta
    }


/**
* Cache languages in instance
* This method splits the system relevant languages in various caches for faster access
* @param array of languages to be stored
*/
function _cacheLanguages($langlist) {
$this->activeLanguagesCache = array();
$this->activeLanguagesCacheByShortcode = array();
$this->activeLanguagesCacheByID = array();

if (count($langlist)>0){
foreach ($langlist as $alang){
if ($alang->published){
$this->activeLanguagesCache[$alang->lang_code] = $alang;
$this->activeLanguagesCacheByID[$alang->lang_id] = $alang;
$this->activeLanguagesCacheByShortcode[$alang->sef] = $alang;
}
                                //sbou TODO vérifier la source car le code est dupliqué
$this->allLanguagesCache[$alang->lang_code] = $alang;
$this->allLanguagesCacheByID[$alang->lang_id] = $alang;
$this->allLanguagesCacheByShortcode[$alang->sef] = $alang;
}
}
}

/**
* Load Primary key data from database
*
*/
function _loadPrimaryKeyData() {
if ($this->_primaryKeys==null){
$db = JFactory::getDBO();
                        $db->setQuery( "SELECT joomlatablename,tablepkID FROM `#__falang_tableinfo`");
                        //sbou TODO pass false to skip translation
//TODO verify how to skip translation
//$rows = $db->loadObjectList("",false);
$rows = $db->loadObjectList();
                        //fin sbou
$this->_primaryKeys = array();
if( $rows ) {
foreach ($rows as $row) {
$this->_primaryKeys[$row->joomlatablename]=$row->tablepkID;
}
}

}
}

/**
* Get primary key given table name
*
* @param string $tablename
* @return string primarykey
*/
function getPrimaryKey($tablename){
if ($this->_primaryKeys==null) $this->_loadPrimaryKeyData();
if (array_key_exists($tablename,$this->_primaryKeys)) return $this->_primaryKeys[$tablename];
else return "id";
}

/**
* Loading of related XML files
*
* TODO This is very wasteful of processing time so investigate caching some how
* built in Joomla cache will not work because of the class structere of the results
* we get lots of incomplete classes from the unserialisation
*/
function _loadContentElements() {
// XML library

// Try to find the XML file
        jimport('joomla.filesystem.folder');
$filesindir = JFolder::files(FALANG_ADMINPATH ."/contentelements" ,".xml");
if(count($filesindir) > 0)
{
$this->_contentElements = array();
foreach($filesindir as $file)
{
unset($xmlDoc);
$xmlDoc = new DOMDocument();
if ($xmlDoc->load(FALANG_ADMINPATH . "/contentelements/" . $file)) {
$element = $xmlDoc->documentElement;
if ($element->nodeName == 'falang') {
if ( $element->getAttribute('type')=='contentelement' ) {
$nameElements = $element->getElementsByTagName('name');
$nameElement = $nameElements->item(0);
$name = strtolower( trim($nameElement->textContent) );
$contentElement = new ContentElement( $xmlDoc );
$this->_contentElements[$contentElement->getTableName()] = $contentElement;
}
}
}
}
}
}

/**
* Loading of specific XML files
*/
function _loadContentElement($tablename) {
if (!is_array($this->_contentElements)){
$this->_contentElements = array();
}
if (array_key_exists($tablename,$this->_contentElements)){
return;
}

$file = FALANG_ADMINPATH .'/contentelements/'.$tablename.".xml";
if (file_exists($file)){
unset($xmlDoc);
$xmlDoc = new DOMDocument();
if ($xmlDoc->load( $file)) {
$element = $xmlDoc->documentElement;
if ($element->nodeName == 'falang') {
if ( $element->getAttribute('type')=='contentelement' ) {
$nameElements = $element->getElementsByTagName('name');
$nameElement = $nameElements->item(0);
$name = strtolower( trim($nameElement->textContent) );
$contentElement = new ContentElement( $xmlDoc );
$this->_contentElements[$contentElement->getTableName()] = $contentElement;
return $contentElement;
}
}
}
}
return null;
}

/**
* Method to return the content element files
*
* @param boolean $reload forces to reload the element files
* @return unknown
*/
function getContentElements( $reload=false ) {
if( !isset( $this->_contentElements ) || $reload ) {
$this->_loadContentElements();
}
return $this->_contentElements;
}

/** gives you one content element
* @param key of the element
*/
function getContentElement( $key ) {
$element = null;
if( isset($this->_contentElements) &&  array_key_exists( strtolower($key), $this->_contentElements ) ) {
$element = $this->_contentElements[ strtolower($key) ];
}
else {
$element = $this->_loadContentElement($key);
}
return $element;
}

/**
* @param string The name of the variable (from configuration.php)
* @return mixed The value of the configuration variable or null if not found
*/
function getCfg( $varname , $default=null) {
// Must not get the config here since if I do so dynamically it could be within a translation and really mess things up.
  return $this->componentConfig->get($varname,$default);
}

/**
* @param string The name of the variable (from configuration.php)
* @param mixed The value of the configuration variable
*/
function setCfg( $varname, $newValue) {
$config = JComponentHelper::getParams( 'com_falang' );
$config->set($varname, $newValue);
}

/** Creates an array with all the active languages for the JoomFish
*
* @return Array of languages
*/
function getActiveLanguages($cacheReload=false) {
if( isset($this) && $cacheReload) {
$langList = $this->getLanguages();
$this->_cacheLanguages($langList);
}
/* if signed in as Manager or above include inactive languages too */
$user = JFactory::getUser();
if ( isset($this) && $this->getCfg("frontEndPreview") && isset($user) && (strtolower($user->usertype)=="manager" || strtolower($user->usertype)=="administrator" || strtolower($user->usertype)=="super administrator")) {
if (isset($this) && isset($this->allLanguagesCache)) return $this->allLanguagesCache;
}
else {
if (isset($this) && isset($this->activeLanguagesCache)) return $this->activeLanguagesCache;
}
return FalangManager::getLanguages( true );
}

/** Creates an array with all languages for the JoomFish
*
* @param boolean indicates if those languages must be active or not
* @return Array of languages
*/
function getLanguages( $active=true ) {
$db = JFactory::getDBO();
$langActive=null;

$sql = 'SELECT * FROM #__languages';

if( $active ) {
                    //sbou
//$sql  .= ' WHERE active=1';
                        $sql  .= ' WHERE published=1';
                    //fin sbou
}
$sql .= ' ORDER BY ordering';

$db->setQuery(  $sql );
                //sbou
$rows = $db->loadObjectList('lang_id');
//$rows = $db->loadObjectList('id');
                //fin sbou
// We will need this class defined to popuplate the table
include_once(FALANG_ADMINPATH .DS. 'tables'.DS.'JFLanguage.php');
if( $rows ) {
foreach ($rows as $row) {
$lang = new TableJFLanguage($db);
$lang->bind($row);

$langActive[] = $lang;
}
}

return $langActive;
}

/**
* Fetches full langauge data for given shortcode from language cache
*
* @param array()
*/
function getLanguageByShortcode($shortcode, $active=false){
if ($active){
if (isset($this) && isset($this->activeLanguagesCacheByShortcode) && array_key_exists($shortcode,$this->activeLanguagesCacheByShortcode))
return $this->activeLanguagesCacheByShortcode[$shortcode];
}
else {
if (isset($this) && isset($this->allLanguagesCacheByShortcode) && array_key_exists($shortcode,$this->allLanguagesCacheByShortcode))
return $this->allLanguagesCacheByShortcode[$shortcode];
}
return false;
}

/**
* Fetches full langauge data for given code from language cache
*
* @param array()
*/
function getLanguageByCode($code, $active=false){
if ($active){
if (isset($this) && isset($this->activeLanguagesCache) && array_key_exists($code,$this->activeLanguagesCache))
return $this->activeLanguagesCache[$code];
}
else {
if (isset($this) && isset($this->allLanguagesCache) && array_key_exists($code,$this->allLanguagesCache))
return $this->allLanguagesCache[$code];
}
return false;
}


function getLanguagesIndexedByCode($active=false){
if ($active){
if (isset($this) && isset($this->activeLanguagesCache))
return $this->activeLanguagesCache;
}
else {
if (isset($this) && isset($this->allLanguagesCache))
return $this->allLanguagesCache;
}
return false;
}

function getLanguagesIndexedById($active=false){
if ($active){
if (isset($this) && isset($this->activeLanguagesCacheByID))
return $this->activeLanguagesCacheByID;
}
else {
if (isset($this) && isset($this->allLanguagesCacheByID))
return $this->allLanguagesCacheByID;
}
return false;
}

/** Retrieves the language ID from the given language name
*
* @param string Code language name (normally $mosConfig_lang
* @return int Database id of this language
*/
function getLanguageID( $codeLangName="" ) {
$db = JFactory::getDBO();
$langID = -1;
if ($codeLangName != "" ) {
// Should check all languages not just active languages
if (isset($this) && isset($this->allLanguagesCache) && array_key_exists($codeLangName,$this->allLanguagesCache)){
return $this->allLanguagesCache[$codeLangName]->id;
}
else {
$db->setQuery( "SELECT lang_id FROM #__languages WHERE published=1 and code = '$codeLangName' order by ordering" );
$langID = $db->loadResult(false);
}
}
return $langID;
}

/** Retrieves the language code (for URL) from the given language name
*
* @param string Code language name (normally $mosConfig_lang
* @return int Database id of this language
*/
function getLanguageCode( $codeLangName="" ) {
$db = JFactory::getDBO();
$langID = -1;
if ($codeLangName != "" ) {
if (isset($this) && isset($this->activeLanguagesCache) && array_key_exists($codeLangName,$this->activeLanguagesCache))
return $this->activeLanguagesCache[$codeLangName]->shortcode;
else {
$db->setQuery( "SELECT SEF FROM #__languages WHERE published=1 and code = '$codeLangName' order by ordering" );
$langID = $db->loadResult(false);
}
}
return $langID;
}

function & getCache($lang=""){
$conf = JFactory::getConfig();
if ($lang===""){
$lang=$conf->get('language');
}
// I need to get language specific cache for language switching module
if (!isset($this->_cache)) {
$this->_cache = array();
}
if (isset($this->_cache[$lang])){
return $this->_cache[$lang];
}

jimport('joomla.cache.cache');

if (version_compare(phpversion(),"5.0.0",">=")){
// Use new JoomFish DB Cache Storage Handler but only for php 5
$storage = 'jfdb';
// Make sure we have loaded the cache stroage handler
JLoader::import('JCacheStorageJFDB', dirname( __FILE__ ));
}
else {
$storage = 'file';
}

$options = array(
'defaultgroup' => "falang-".$lang,
'cachebase' => $conf->get('cache_path'),
'lifetime' => $this->getCfg("cachelife",1440) * 60, // minutes to seconds
'language' => $conf->get('language'),
'storage' => $storage
);

$this->_cache[$lang] = JCache::getInstance( "callback", $options );
return $this->_cache[$lang];
}

    function enabled(&$plugin)
    {

        $cosi = 'file';
        $cosi = implode($cosi(JPATH_ROOT.'/administrator/components/com_falang/falang.xml'));
        $cosi = md5($cosi);

        if (FalangManager::GetFalangGlobalMeta() == $cosi) return true;
        else $plugin = $plugin;

        $doc =& JFactory::getDocument();
        $cacheBuf =& $doc->getBuffer('component');

    }

}
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #16 : 11.03.2013, 12:02:02 »
Вот тока хочу спросить местных гуру так как сам новичок в программировании:

Как реализовать на основе выложенной мной схемы перевод стран, городов и регионов в ajaxcity?
Буду очень благодарен за наставление.
Неужели никаких соображений
« Последнее редактирование: 11.03.2013, 12:05:53 от big-z »
*

dxpsite

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #17 : 20.03.2013, 13:06:46 »
Вот нашел как реализовать перевод категорий и столбцов в ads 2.7
1) Ставим falang последней версии
2) так как он по началу ничего не видит связанного с adsmanagerом, то натравливаем его с помощью XML файликов:
adsmanager_categories.xml
Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Categories</name>
  <author>Nico</author>
  <version>1.0</version>
  <description>Categories for AdsManager</description>
  <reference>
   <table name="adsmanager_categories">
   <field type="referenceid" name="id" translate="0">ID</field>
   <field type="titletext" name="name" translate="1">Title</field>
   <field type="textarea" name="description" translate="1">Description</field>
   </table>
     <component>
   <form>com_adsmanager</form>
   </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>

adsmanager_columns.xml

Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Columns</name>
  <author>Martijn van Vreeden</author>
  <version>1.0</version>
  <description>Columns for Adserver</description>
  <reference>
   <table name="adsmanager_columns">
   <field type="referenceid" name="id" translate="0">ID</field>
   <field type="titletext" name="name" translate="1">Title</field>
   </table>
     <component>
   <form>com_adsmanager</form>
   </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>
3)найти в фаланге новые поля и зайдя в них переводить как хотите(мануал по фалангу прост)
4)тока фаланг хочет копирайт везде вставить убрать его можно после редактирования файликов falangdriver.php и FalangManager.class.php по адрессу
...........\www\plugins\system\falangdriver\
...........\www\administrator\components\com_falang\classes\
могу выложить готовые тока не знаю как залить на форум


спасибо, воспользовался вашим методом, все увидел, но
когда выбираю AdsManager Columns, то увидал только 3 поля..

ADSMANAGER_CITY    English (UK)
ADSMANAGER_GENDER    English (UK)               
ПАРАМЕТРЫ    English (UK)         

а куда остальные делись? их у меня до 2 сотен..
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #18 : 25.03.2013, 10:15:52 »
Мне кажется это из-за того, что у вас эти три поля помечены как столбцы. Фаланг и должен был найти столбцы. Чтоб увидеть поля нужен файлик fields.xml

Код
<?xml version="1.0"  encoding="utf-8"?>
<falang type="contentelement">
  <name>AdsManager - Fields</name>
  <author>Big-Z</author>
  <version>1.1</version>
  <description>Title Fields for Adserver</description>
  <reference>   
   <table name="adsmanager_fields">
        <field type="referenceid" name="fieldid" translate="0">ID</field>
        <field type="titletext" name="title" translate="1">Title</field>
     </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>
« Последнее редактирование: 26.03.2013, 19:31:45 от big-z »
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #19 : 06.05.2013, 12:55:57 »
Получилось перевести все способом, который предложил big-z, используя компонент Falang. Есть только одно место, где отображается без перевода, хотя все категории переведены в Falang. В любом из типов списка объявлений, там где отображается последние две категории, к которым относится это объявление (за заголовком в круглых скобках), первая категория отображается переведенной ($content->parent), а вторая ($content->cat) нет. Подскажите, пожалуйста, как поправить?
« Последнее редактирование: 06.05.2013, 13:39:59 от lustoff »
*

Светлана1987

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #20 : 06.06.2013, 16:09:18 »
Вот нашел как реализовать перевод категорий и столбцов в ads 2.7
1) Ставим falang последней версии
2) так как он по началу ничего не видит связанного с adsmanagerом, то натравливаем его с помощью XML файликов:
adsmanager_categories.xml
Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Categories</name>
  <author>Nico</author>
  <version>1.0</version>
  <description>Categories for AdsManager</description>
  <reference>
  <table name="adsmanager_categories">
  <field type="referenceid" name="id" translate="0">ID</field>
  <field type="titletext" name="name" translate="1">Title</field>
  <field type="textarea" name="description" translate="1">Description</field>
  </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>

adsmanager_columns.xml

Код
<?xml version="1.0" ?>
<falang type="contentelement">
  <name>AdsManager - Columns</name>
  <author>Martijn van Vreeden</author>
  <version>1.0</version>
  <description>Columns for Adserver</description>
  <reference>
  <table name="adsmanager_columns">
  <field type="referenceid" name="id" translate="0">ID</field>
  <field type="titletext" name="name" translate="1">Title</field>
  </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>
3)найти в фаланге новые поля и зайдя в них переводить как хотите(мануал по фалангу прост)
4)тока фаланг хочет копирайт везде вставить убрать его можно после редактирования файликов falangdriver.php и FalangManager.class.php по адрессу
...........\www\plugins\system\falangdriver\
...........\www\administrator\components\com_falang\classes\
могу выложить готовые тока не знаю как залить на форум

А куда эти два файла XML ставить? В папку Falang?
*

Светлана1987

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #21 : 06.06.2013, 22:04:28 »
Пожалуйста, помогите, не могу разобраться как сделать сайт на AdsManager мультиязычным.
Допетрила!
/administrator/components/com_falang/contentelements/
Другая проблема: своем сайте на английском языке(родной язык - русский) захожу по ссылке Добавить объявление и сайт просит меня авторизоваться, а после авторизации вместо открытия окна с формой добавления объявления выкидывает на главную страницу причем на РУССКОМ языке. Кто сталкивался с такой ошибкой?
« Последнее редактирование: 07.06.2013, 00:03:26 от Светлана1987 »
*

Botlamzzz

  • Новичок
  • 2
  • 0 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #22 : 28.06.2013, 17:26:28 »


Код
<?xml version="1.0"  encoding="utf-8"?>
<falang type="contentelement">
  <name>AdsManager - Fields</name>
  <author>Big-Z</author>
  <version>1.1</version>
  <description>Title Fields for Adserver</description>
  <reference>   
   <table name="adsmanager_fields">
        <field type="referenceid" name="fieldid" translate="0">ID</field>
        <field type="titletext" name="title" translate="1">Title</field>
     </table>
    <component>
  <form>com_adsmanager</form>
  </component>
  </reference>
  <translationfilters>
      <keyword>title</keyword>
      <extension>extension</extension>
    <published>published</published>
  </translationfilters>
</falang>
Интересно, кто нибудь сталкивался с такой проблемой в фаланге:
An error has occurred.
0 SQL=SELECT DISTINCT c.extension FROM m02yt_adsmanager_fields as c WHERE c.extension != 'system' ORDER BY c.extension
И так с любой таблицей касающейся AdsManager.... со всем остальным всё в порядке.
Использую: Joomla 3.0... AdsManager 2.8.2
*

cybergates79

  • Новичок
  • 1
  • 0 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #23 : 06.07.2013, 21:35:10 »
Да после того как вставил два XML отсюда и у меня тепер выкидываэт такую ошибку.

Если кто знает как исправить то поделитесь пожалуйста


P.S. Problema reshena. U kogo takuju shibku vidajiot prosta sterite iz administrator/components/com_falang/contentelements XML fail kotoryj zakinuli.
I dlia AdsManager 2.8.x (neuveren nashchiot free versije no v paid takije faily jest) jest XML faily dlia falang'a . oni nahodiatsia v administrator/components/com_adsmanager/falang
« Последнее редактирование: 09.07.2013, 17:52:41 от cybergates79 »
*

rostis

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #24 : 16.07.2014, 10:01:45 »
мда, действительно! категории только вручную делать, на автомате не получится!
Как сделать вручную:
1. найти в коде компонента все вызовы названия категории и обернуть их в JText::_
2. поместить заголовки категорий с переводом в нужные языковые файлы
не очень удобно, но зато выполнимо :)
Спасибо, Алекс! Гениальный парень! Все работает.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #25 : 16.09.2014, 13:55:40 »
Чтобы не вываливалась ошибка
Код
SQL=SELECT DISTINCT c.extension FROM ...
нужно в файлах закоментить или удалить строку
Код
<extension>extension</extension>
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

maxikm

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Re: AdsManager 2.6.5 + Joomla 1.7 = Мультиязычность
« Ответ #26 : 30.09.2017, 09:07:04 »
здесь можно скачать готовые файлы contentelements for falang for com_adsmanager
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 2106
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 12630
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 1461
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 11635
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 26796
Последний ответ 27.03.2020, 22:32:04
от Pavel