Изменение ширины компонента

Тема в разделе "Изменение шаблона (кастомизация)", создана пользователем Novator, 04.01.2010.

  1. Offline

    Novator Недавно здесь

    Регистрация:
    14.11.2009
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Помогите с компонентом TP AJAX Tabs, требуется увеличить ширину чтобы внутрение надписи не выходили за пределы компонента и не толкались друг с другом.

    Для наглядности:
    [​IMG]

    Код (PHP):
    1. <?php header("Content-Type: text/html; charset=utf-8"); ?>
    2. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    3. <?php
    4.  
    5. // This file is a part of com_tptabber package
    6. // Author: http://www.templateplazza.com
    7. // Creator: Jerry Wijaya ( me@jerrywijaya.com )
    8.  
    9. defined('_JEXEC') or die('Restricted access');  
    10.  
    11. // Check to ensure this file is within the rest of the framework
    12. defined('JPATH_BASE') or die();
    13.  
    14. // Import library dependencies
    15. jimport('joomla.application.component.helper');
    16.  
    17. // used from original JModuleHelper class, with hack for displaying module without seeing it position
    18. class TPJModuleHelper
    19. {
    20.     function &getModule($name, $title = null )
    21.     {
    22.         $result     = null;
    23.         $modules    =& TPJModuleHelper::_load();
    24.         $total      = count($modules);
    25.         for ($i = 0; $i < $total; $i++)
    26.         {
    27.             // Match the name of the module
    28.             if ($modules[$i]->name == $name)
    29.             {
    30.                 // Match the title if we're looking for a specific instance of the module
    31.                 if ( ! $title || $modules[$i]->title == $title )
    32.                 {
    33.                     $result =& $modules[$i];
    34.                     break;  // Found it
    35.                 }
    36.             }
    37.         }
    38.  
    39.         // if we didn't find it, and the name is mod_something, create a dummy object
    40.         if (is_null( $result ) && substr( $name, 0, 4 ) == 'mod_')
    41.         {
    42.             $result             = new stdClass;
    43.             $result->id         = 0;
    44.             $result->title      = '';
    45.             $result->module     = $name;
    46.             $result->position   = '';
    47.             $result->content    = '';
    48.             $result->showtitle  = 0;
    49.             $result->control    = '';
    50.             $result->params     = '';
    51.             $result->user       = 0;
    52.         }
    53.  
    54.         return $result;
    55.     }
    56.  
    57.     /**
    58.      * Get modules by position
    59.      *
    60.      * @access public
    61.      * @param string    $position   The position of the module
    62.      * @return array    An array of module objects
    63.      */
    64.     function &getModules($position)
    65.     {
    66.         $position   = strtolower( $position );
    67.         $result     = array();
    68.  
    69.         $modules =& TPJModuleHelper::_load();
    70.  
    71.         $total = count($modules);
    72.         for($i = 0; $i < $total; $i++) {
    73.             if($modules[$i]->position == $position) {
    74.                 $result[] =& $modules[$i];
    75.             }
    76.         }
    77.         if(count($result) == 0) {
    78.             if(JRequest::getBool('tp')) {
    79.                 $result[0] = TPJModuleHelper::getModule( 'mod_'.$position );
    80.                 $result[0]->title = $position;
    81.                 $result[0]->content = $position;
    82.                 $result[0]->position = $position;
    83.             }
    84.         }
    85.  
    86.         return $result;
    87.     }
    88.  
    89.     /**
    90.      * Checks if a module is enabled
    91.      *
    92.      * @access  public
    93.      * @param   string  $module The module name
    94.      * @return  boolean
    95.      */
    96.     function isEnabled( $module )
    97.     {
    98.         $result = &TPJModuleHelper::getModule( $module);
    99.         return (!is_null($result));
    100.     }
    101.  
    102.     function renderModule($module, $attribs = array())
    103.     {
    104.         static $chrome;
    105.         global $mainframe, $option;
    106.  
    107.         $scope = $mainframe->scope; //record the scope
    108.         $mainframe->scope = $module->module;  //set scope to component name
    109.  
    110.         // Handle legacy globals if enabled
    111.         if ($mainframe->getCfg('legacy'))
    112.         {
    113.             // Include legacy globals
    114.             global $my, $database, $acl, $mosConfig_absolute_path;
    115.  
    116.             // Get the task variable for local scope
    117.             $task = JRequest::getString('task');
    118.  
    119.             // For backwards compatibility extract the config vars as globals
    120.             $registry =& JFactory::getConfig();
    121.             foreach (get_object_vars($registry->toObject()) as $k => $v) {
    122.                 $name = 'mosConfig_'.$k;
    123.                 $$name = $v;
    124.             }
    125.             $contentConfig = &JComponentHelper::getParams( 'com_content' );
    126.             foreach (get_object_vars($contentConfig->toObject()) as $k => $v)
    127.             {
    128.                 $name = 'mosConfig_'.$k;
    129.                 $$name = $v;
    130.             }
    131.             $usersConfig = &JComponentHelper::getParams( 'com_users' );
    132.             foreach (get_object_vars($usersConfig->toObject()) as $k => $v)
    133.             {
    134.                 $name = 'mosConfig_'.$k;
    135.                 $$name = $v;
    136.             }
    137.         }
    138.  
    139.         // Get module parameters
    140.         $params = new JParameter( $module->params );
    141.  
    142.         // Get module path
    143.         $module->module = preg_replace('/[^A-Z0-9_\.-]/i', '', $module->module);
    144.         $path = JPATH_BASE.DS.'modules'.DS.$module->module.DS.$module->module.'.php';
    145.  
    146.         // Load the module
    147.         if (!$module->user && file_exists( $path ) && empty($module->content))
    148.         {
    149.             $lang =& JFactory::getLanguage();
    150.             $lang->load($module->module);
    151.  
    152.             $content = '';
    153.             ob_start();
    154.             require $path;
    155.             $module->content = ob_get_contents().$content;
    156.             ob_end_clean();
    157.         }
    158.  
    159.         // Load the module chrome functions
    160.         if (!$chrome) {
    161.             $chrome = array();
    162.         }
    163.  
    164.         require_once (JPATH_BASE.DS.'templates'.DS.'system'.DS.'html'.DS.'modules.php');
    165.         $chromePath = JPATH_BASE.DS.'templates'.DS.$mainframe->getTemplate().DS.'html'.DS.'modules.php';
    166.         if (!isset( $chrome[$chromePath]))
    167.         {
    168.             if (file_exists($chromePath)) {
    169.                 require_once ($chromePath);
    170.             }
    171.             $chrome[$chromePath] = true;
    172.         }
    173.  
    174.         //make sure a style is set
    175.         if(!isset($attribs['style'])) {
    176.             $attribs['style'] = 'none';
    177.         }
    178.  
    179.         //dynamically add outline style
    180.         if(JRequest::getBool('tp')) {
    181.             $attribs['style'] .= ' outline';
    182.         }
    183.  
    184.         foreach(explode(' ', $attribs['style']) as $style)
    185.         {
    186.             $chromeMethod = 'modChrome_'.$style;
    187.  
    188.             // Apply chrome and render module
    189.             if (function_exists($chromeMethod))
    190.             {
    191.                 $module->style = $attribs['style'];
    192.  
    193.                 ob_start();
    194.                 $chromeMethod($module, $params, $attribs);
    195.                 $module->content = ob_get_contents();
    196.                 ob_end_clean();
    197.             }
    198.         }
    199.  
    200.         $mainframe->scope = $scope; //revert the scope
    201.  
    202.         return $module->content;
    203.     }
    204.  
    205.     /**
    206.      * Get the path to a layout for a module
    207.      *
    208.      * @static
    209.      * @param   string  $module The name of the module
    210.      * @param   string  $layout The name of the module layout
    211.      * @return  string  The path to the module layout
    212.      * @since   1.5
    213.      */
    214.     function getLayoutPath($module, $layout = 'default')
    215.     {
    216.         global $mainframe;
    217.  
    218.         // Build the template and base path for the layout
    219.         $tPath = JPATH_BASE.DS.'templates'.DS.$mainframe->getTemplate().DS.'html'.DS.$module.DS.$layout.'.php';
    220.         $bPath = JPATH_BASE.DS.'modules'.DS.$module.DS.'tmpl'.DS.$layout.'.php';
    221.  
    222.         // If the template has a layout override use it
    223.         if (file_exists($tPath)) {
    224.             return $tPath;
    225.         } else {
    226.             return $bPath;
    227.         }
    228.     }
    229.  
    230.     /**
    231.      * Load published modules
    232.      *
    233.      * @access  private
    234.      * @return  array
    235.      */
    236.     function &_load()
    237.     {
    238.         global $mainframe, $Itemid;
    239.  
    240.         static $modules;
    241.  
    242.         if (isset($modules)) {
    243.             return $modules;
    244.         }
    245.  
    246.         $user   =& JFactory::getUser();
    247.         $db     =& JFactory::getDBO();
    248.  
    249.         $aid    = $user->get('aid', 0);
    250.  
    251.         $modules    = array();
    252.  
    253.         //$wheremenu = isset( $Itemid ) ? ' AND ( mm.menuid = '. (int) $Itemid .' OR mm.menuid = 0 )' : '';
    254.         $wheremenu = null;
    255.  
    256.         $query = 'SELECT id, title, module, position, content, showtitle, control, params'
    257.             . ' FROM #__modules AS m'
    258.             . ' LEFT JOIN #__modules_menu AS mm ON mm.moduleid = m.id'
    259.             . ' WHERE m.published = 1'
    260.             . ' AND m.access <= '. (int)$aid
    261.             . ' AND m.client_id = '. (int)$mainframe->getClientId()
    262.             . $wheremenu
    263.             . ' ORDER BY position, ordering';
    264.  
    265.         $db->setQuery( $query );
    266.  
    267.         if (null === ($modules = $db->loadObjectList())) {
    268.             JError::raiseWarning( 'SOME_ERROR_CODE', JText::_( 'Error Loading Modules' ) . $db->getErrorMsg());
    269.             return false;
    270.         }
    271.  
    272.         $total = count($modules);
    273.         for($i = 0; $i < $total; $i++)
    274.         {
    275.             //determine if this is a custom module
    276.             $file                   = $modules[$i]->module;
    277.             $custom                 = substr( $file, 0, 4 ) == 'mod_' ?  0 : 1;
    278.             $modules[$i]->user      = $custom;
    279.             // CHECK: custom module name is given by the title field, otherwise it's just 'om' ??
    280.             $modules[$i]->name      = $custom ? $modules[$i]->title : substr( $file, 4 );
    281.             $modules[$i]->style     = null;
    282.             $modules[$i]->position  = strtolower($modules[$i]->position);
    283.         }
    284.  
    285.         return $modules;
    286.     }
    287.  
    288. }
    289.  
    290. $id = JRequest::getVar('id', 0, 'get');
    291. if(!empty($id))
    292. {
    293.     $db =& JFactory::getDBO();
    294.  
    295.     $query = "SELECT position FROM #__modules WHERE id='".$id."'";
    296.     $db->setQuery($query);
    297.     $position = $db->loadResult();
    298.     if(!empty($position))
    299.     {
    300.         $query = "SELECT menuid FROM #__modules_menu WHERE moduleid='".$id." LIMIT 1'";
    301.         $db->setQuery($query);
    302.         $menuid = $db->loadResult();
    303.  
    304.         $Itemid = $menuid;
    305.        
    306.         $sModule = null;
    307.         $modules =& TPJModuleHelper::getModules($position);
    308.  
    309.         foreach ($modules as $module)
    310.         {
    311.             if($module->id == $id)
    312.             {
    313.                 $sModule = $module;
    314.                 break;
    315.             }
    316.         }
    317.     }
    318. }
    319.  
    320. if (!headers_sent())
    321. {
    322.     while(@ob_end_clean());
    323.     ob_start();
    324.     if(!empty($sModule))
    325.     {
    326.         $Itemid = $menuid;
    327.         echo TPJModuleHelper::renderModule($sModule);      
    328.     }
    329.     else
    330.     {
    331.         echo 'Module not found!';
    332.     }
    333.     $out = ob_get_contents();
    334.     ob_end_clean();
    335.     echo $out;
    336.     exit();
    337. }
    338.  
    339. ?>



    Если это имеет значение, то сайт использует как компонент так и модуль TP AJAX Tabs.
     
    Последнее редактирование: 04.01.2010
  2.  

Поделиться этой страницей

Загрузка...