Добрый день. Буду очень благодарен если подскажите с таким вопросом, (сам найти ответа не смог, бьюсь уже 3 дня.. ) делал всплывающую форму, на 2-х сайтах, так вот чтобы в форме не было шаблона и модулей писал index2.php в коде (речь идет за форму Задайте вопрос VM1.1.9 j1.5) так вот на одном сайте все как положено показывает без шаблона: heslik.com/index2.php?page=shop.product_details&flypage=flypage.tpl&product_id=3&category_id=3&option=com_virtuemart&Itemid=28&vmcchk=1&Itemid=28 , а на другом сайте почемуто в index2.php отображается шаблон и модули, почему это может быть? шаблоны на сайтах одинаковые, вот проблемный сайт fetra.com.ua/index2.php?page=shop.product_details&category_id=74&flypage=flypage.tpl&product_id=3535&option=com_virtuemart&Itemid=71 Нужно чтобы в ссылке с index2.php не отображался шаблон и модули. спасибо. И да чистить кеш, историю в браузере, кеш в Joomla я пробовал, не помогло.
короче вот ответ, надо было добавить к ссылке &tmpl=component, но по прежнему не понятно почему у меня index2.php загружает шаблон?
мм, открыл этот файл не пойму что конкретно в нем смотреть упоминаний index2 там нет.. вот сам файл Spoiler Код (PHP): <?php /** * @package LiveUpdate * @copyright Copyright ©2011 Nicholas K. Dionysopoulos / AkeebaBackup.com * @license GNU LGPLv3 or later <http://www.gnu.org/copyleft/lesser.html> */ defined('_JEXEC') or die(); /** * Live Update Component Storage Class * Allows to store the update data to a component's parameters. This is the most reliable method. * Its configuration options are: * component string The name of the component which will store our data. If not specified the extension name will be used. * key string The name of the component parameter where the serialized data will be stored. If not specified "liveupdate" will be used. */ class LiveUpdateStorageComponent extends LiveUpdateStorage { private static $component = null; private static $key = null; public function load($config) { if(!array_key_exists('component', $config)) { self::$component = $config['extensionName']; } else { self::$component = $config['component']; } if(!array_key_exists('key', $config)) { self::$key = 'liveupdate'; } else { self::$key = $config['key']; } jimport('joomla.html.parameter'); jimport('joomla.application.component.helper'); $component =& JComponentHelper::getComponent(self::$component); if(!($component->params instanceof JRegistry)) { $params = new JParameter($component->params); } else { $params = $component->params; } $data = $params->getValue(self::$key, ''); jimport('joomla.registry.registry'); self::$registry = new JRegistry('update'); self::$registry->loadINI($data); } public function save() { $data = self::$registry->toString('INI'); $db =& JFactory::getDBO(); // An interesting discovery: if your component is manually updating its // component parameters before Live Update is called, then calling Live // Update will reset the modified component parameters because // JComponentHelper::getComponent() returns the old, cached version of // them. So, we have to forget the following code and shoot ourselves in // the feet. Dammit!!! /* jimport('joomla.html.parameter'); jimport('joomla.application.component.helper'); $component =& JComponentHelper::getComponent(self::$component); $params = new JParameter($component->params); $params->setValue(self::$key, $data); */ if( version_compare(JVERSION,'1.6.0','ge') ) { $sql = 'SELECT '.$db->nameQuote('params').' FROM '.$db->nameQuote('#__extensions'). ' WHERE '.$db->nameQuote('type').' = '.$db->Quote('component').' AND '. $db->nameQuote('element').' = '.$db->Quote(self::$component); $db->setQuery($sql); } else { $sql = 'SELECT '.$db->nameQuote('params').' FROM '.$db->nameQuote('#__components'). ' WHERE '.$db->nameQuote('option').' = '.$db->Quote(self::$component). " AND `parent` = 0 AND `menuid` = 0"; $db->setQuery($sql); } $rawparams = $db->loadResult(); $params = new JParameter($rawparams); $params->setValue(self::$key, $data); if( version_compare(JVERSION,'1.6.0','ge') ) { // Joomla! 1.6 $data = $params->toString('JSON'); $sql = 'UPDATE `#__extensions` SET `params` = '.$db->Quote($data).' WHERE '. "`element` = ".$db->Quote(self::$component)." AND `type` = 'component'"; } else { // Joomla! 1.5 $data = $params->toString('INI'); $sql = 'UPDATE `#__components` SET `params` = '.$db->Quote($data).' WHERE '. "`option` = ".$db->Quote(self::$component)." AND `parent` = 0 AND `menuid` = 0"; } $db->setQuery($sql); $db->query(); } } --- добавлено: Jun 18, 2014, первое сообщение размещено: Jun 18, 2014 --- после того как я добавил к ссылке &tmpl=component в shop.product_details.php вот код: Код (CODE): /** Ask seller a question **/ $ask_seller_href = $sess->url( $_SERVER ['PHP_SELF'].'/index2.php?page=shop.ask&flypage='.@$_REQUEST['flypage']."&product_id=$product_id&category_id=$category_id&tmpl=component" ); //правка $ask_seller_text = $VM_LANG->_('VM_PRODUCT_ENQUIRY_LBL'); $ask_seller = '<a rel="shadowbox;height=360;width=220" href="'. $ask_seller_href .'">'. $ask_seller_text .'</a>'; стало отображаться нормально в всплывающем окне, но после отправки формы грузится в этом же всплывающем окне следующая страница с подтверждением об отправке и в ней почему-то подгружается шаблон... в shop.ask.tpl.php я пробовал поменять index.php на index2.php(это многим помогало, но не в моем случае так как у меня и в index2.php почемуто подгружается шаблон..) потом пробовал там написать component.php вместо index2.php и выдало ошибку мол страница не найдена.. вот тут менял Код (CODE): document.emailForm.action = "<?php echo sefRelToAbs("index2.php"); ?>" --- добавлено: Jun 18, 2014 --- так component.php вроде для j2.5 отвечает за вывод формы без шаблона, но у меня же --- добавлено: Jun 19, 2014 --- и тишина((
Так tmpl=component и есть вызов шаблона component.php И вообще, хоть раз открывал файл index2.php? Только где ты его откопал. Предлагаю не заниматься извращениями со всплывающими окнами. Но проблема думаю в том, то у формы action=index.php, а не index2.php
после вашего сообщения начал рыскать через firebug по самой форме, и нашел такую строку <form id="emailForm" name="emailForm" method="post" action="http://fetra.com.ua/index.php"> я так понял это и есть корень зла.. но щас проверю. --- добавлено: Jun 20, 2014, первое сообщение размещено: Jun 20, 2014 --- нет всетаки не оно поменял на index2.php и не помогло(( в общем еще заметил что если пользователь авторизован, то страница благодарности во всплывающей форме показывается без шаблона после отправки формы как и должно быть, но если не авторизован, то все коряво с шаблоном.. вылазит как на Spoiler: скрине И вот еще я так понял эта строка document.emailForm.action = "<?php echo sefRelToAbs("index2.php"); ?>" в shop.ask.tpl.php отвечает за эту страницу, но не пойму как ее поменять еще, пробовал туда тоже влепить &tmpl=component, но не помогло..