Стандартная форма обратной связи, глюк- не выводит сообщение после отправки!

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

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Не выводит сообщение после отправки письма в стандартнйо форме отправки на Joomla 1.5.26
Куда рыть, посмотрел в самом файле есть controller.php есть такие строки:
Код
$msg = JText::_( 'Thank you for your e-mail');
$link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false);
$this->setRedirect($link, $msg);
}

А вот почему письмо отпрвляет, а сообщение "Thank you for your e-mail"  на сайт не выводит?

« Последнее редактирование: 27.05.2017, 13:18:31 от Elimelech »

*

NewUsers

  • Завсегдатай
  • *****
  • 579
  • 46
Как выглядит весь файл controller.php

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Как выглядит весь файл controller.php
Код
<?php
/**
 * @version $Id: controller.php 14974 2010-02-21 14:32:22Z ian $
 * @package Joomla
 * @subpackage Contact
 * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
 * @license GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant to the
 * GNU General Public License, and as distributed it includes or is derivative
 * of works licensed under the GNU General Public License or other free or open
 * source software licenses. See COPYRIGHT.php for copyright notices and
 * details.
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );

jimport( 'joomla.application.component.controller' );

/**
 * Contact Component Controller
 *
 * @static
 * @package Joomla
 * @subpackage Contact
 * @since 1.5
 */
class ContactController extends JController
{
/**
* Display the view
*/
function display()
{
$document =& JFactory::getDocument();

$viewName = JRequest::getVar('view', 'category', 'default', 'cmd');
$viewType = $document->getType();

// interceptors to support legacy urls
switch ($this->getTask())
{
//index.php?option=com_contact&task=category&id=0&Itemid=4
case 'category':
$viewName = 'category';
$layout = 'default';
break;
case 'view':
$viewName = 'contact';
$layout = 'default';
break;
}

// Set the default view name from the Request
$view = &$this->getView($viewName, $viewType);

// Push a model into the view
$model = &$this->getModel( $viewName );
if (!JError::isError( $model )) {
$view->setModel( $model, true );
}

// Workaround for the item view
if ($viewName == 'contact')
{
$modelCat = &$this->getModel( 'category' );
$view->setModel( $modelCat );
}

// Display the view
$view->assign('error', $this->getError());

// View caching logic -- simple... are we logged in?
$user = &JFactory::getUser();
$viewnow = JRequest::getVar('view');
$viewcache = JRequest::getVar('viewcache','1','POST','INT');

if ($user->get('id') || ($viewnow == 'category' && $viewcache == 0)) {
$view->display();
} else {

// Workaround for token caching
if ($viewName == 'contact')
{
ob_start();
}

$option = JRequest::getCmd('option');
$cache =& JFactory::getCache($option, 'view');
$cache->get($view, 'display');

// Workaround for token caching
if ($viewName == 'contact')
{
$contents = ob_get_contents();
ob_end_clean();

$token = JUtility::getToken();
$search = '#<input type="hidden" name="[0-9a-f]{32}" value="1" />#';
$replacement = '<input type="hidden" name="'.$token.'" value="1" />';

echo preg_replace($search, $replacement, $contents);
}
}
}

/**
* Method to send an email to a contact
*
* @static
* @since 1.0
*/
function submit()
{
global $mainframe;

// Check for request forgeries
JRequest::checkToken() or jexit( 'Invalid Token' );

// Initialize some variables
$db = & JFactory::getDBO();
$SiteName = $mainframe->getCfg('sitename');

$default = JText::sprintf( 'MAILENQUIRY', $SiteName );
$contactId = JRequest::getInt( 'id', 0, 'post' );
$name = JRequest::getVar( 'name', '', 'post' );
$email = JRequest::getVar( 'email', '', 'post' );
$subject = JRequest::getVar( 'subject', $default, 'post' );
$body = JRequest::getVar( 'text', '', 'post' );
$emailCopy = JRequest::getInt( 'email_copy', 0, 'post' );

// load the contact details
$model = &$this->getModel('contact');

// query options
$qOptions['id'] = $contactId;
$contact = $model->getContact( $qOptions );

if($contact->email_to == '' && $contact->user_id != 0)
{
$contact_user = JUser::getInstance($contact->user_id);
$contact->email_to = $contact_user->get('email');
}

/*
* If there is no valid email address or message body then we throw an
* error and return false.
*/
jimport('joomla.mail.helper');
if (!$email || !$body || (JMailHelper::isEmailAddress($email) == false))
{
$this->setError(JText::_('CONTACT_FORM_NC'));
$this->display();
return false;
}

// Contact plugins
JPluginHelper::importPlugin( 'contact' );
$dispatcher =& JDispatcher::getInstance();

// Input validation
if  (!$this->_validateInputs( $contact, $email, $subject, $body ) ) {
JError::raiseWarning( 0, $this->getError() );
return false;
}

// Custom handlers
$post = JRequest::get( 'post' );
$results = $dispatcher->trigger( 'onValidateContact', array( &$contact, &$post ) );

foreach ($results as $result)
{
if (JError::isError( $result )) {
return false;
}
}

// Passed Validation: Process the contact plugins to integrate with other applications
$results = $dispatcher->trigger( 'onSubmitContact', array( &$contact, &$post ) );

$pparams = &$mainframe->getParams('com_contact');
if (!$pparams->get( 'custom_reply' ))
{
$MailFrom = $mainframe->getCfg('mailfrom');
$FromName = $mainframe->getCfg('fromname');

// Prepare email body
$prefix = JText::sprintf('ENQUIRY_TEXT', JURI::base());
$body = $prefix."\n".$name.' <'.$email.'>'."\r\n\r\n".stripslashes($body);

$mail = JFactory::getMailer();

$mail->addRecipient( $contact->email_to );
$mail->setSender( array( $email, $name ) );
$mail->setSubject( $FromName.': '.$subject );
$mail->setBody( $body );

$sent = $mail->Send();

/*
* If we are supposed to copy the admin, do so.
*/
// parameter check
$params = new JParameter( $contact->params );
$emailcopyCheck = $params->get( 'show_email_copy', 0 );

// check whether email copy function activated
if ( $emailCopy && $emailcopyCheck )
{
$copyText = JText::sprintf('Copy of:', $contact->name, $SiteName);
$copyText .= "\r\n\r\n".$body;
$copySubject = JText::_('Copy of:')." ".$subject;

$mail = JFactory::getMailer();

$mail->addRecipient( $email );
$mail->setSender( array( $MailFrom, $FromName ) );
$mail->setSubject( $copySubject );
$mail->setBody( $copyText );

$sent = $mail->Send();
}
}

$msg = JText::_( 'Thank you for your e-mail');
$link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false);
$this->setRedirect($link, $msg);
}

/**
* Method to output a vCard
*
* @static
* @since 1.0
*/
function vcard()
{
global $mainframe;

// Initialize some variables
$db = & JFactory::getDBO();

$SiteName = $mainframe->getCfg('sitename');
$contactId = JRequest::getVar('contact_id', 0, '', 'int');
// Get a Contact table object and load the selected contact details
JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_contact'.DS.'tables');
$contact =& JTable::getInstance('contact', 'Table');
$contact->load($contactId);
$user =& JFactory::getUser();

// Get the contact detail parameters
$params = new JParameter($contact->params);

// Show the Vcard if contact parameter indicates (prevents direct access)
if (($params->get('allow_vcard', 0)) && ($user->get('aid', 0) >= $contact->access))
{
// Parse the contact name field and build the nam information for the vcard.
$firstname = null;
$middlename = null;
$surname = null;

// How many parts do we have?
$parts = explode(' ', $contact->name);
$count = count($parts);

switch ($count) {
case 1 :
// only a first name
$firstname = $parts[0];
break;

case 2 :
// first and last name
$firstname = $parts[0];
$surname = $parts[1];
break;

default :
// we have full name info
$firstname = $parts[0];
$surname = $parts[$count -1];
for ($i = 1; $i < $count -1; $i ++) {
$middlename .= $parts[$i].' ';
}
break;
}
// quick cleanup for the middlename value
$middlename = trim($middlename);

// Create a new vcard object and populate the fields
require_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_contact'.DS.'helpers'.DS.'vcard.php');
$v = new JvCard();

$v->setPhoneNumber($contact->telephone, 'PREF;WORK;VOICE');
$v->setPhoneNumber($contact->fax, 'WORK;FAX');
$v->setName($surname, $firstname, $middlename, '');
$v->setAddress('', '', $contact->address, $contact->suburb, $contact->state, $contact->postcode, $contact->country, 'WORK;POSTAL');
$v->setEmail($contact->email_to);
$v->setNote($contact->misc);
$v->setURL( JURI::base(), 'WORK');
$v->setTitle($contact->con_position);
$v->setOrg(html_entity_decode($SiteName, ENT_COMPAT, 'UTF-8'));

$filename = str_replace(' ', '_', $contact->name);
$v->setFilename($filename);

$output = $v->getVCard(html_entity_decode($SiteName, ENT_COMPAT, 'UTF-8'));
$filename = $v->getFileName();

// Send vCard file headers
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Length: '.strlen($output));
header('Connection: close');
header('Content-Type: text/x-vCard; name='.$filename);
header('Cache-Control: store, cache');
header('Pragma: cache');

print $output;
} else {
JError::raiseWarning('SOME_ERROR_CODE', 'ContactController::vCard: '.JText::_('ALERTNOTAUTH'));
return false;
}
}

/**
* Validates some inputs based on component configuration
*
* @param Object $contact JTable Object
* @param String $email Email address
* @param String $subject Email subject
* @param String $body Email body
* @return Boolean
* @access protected
* @since 1.5
*/
function _validateInputs( $contact, $email, $subject, $body )
{
global $mainframe;

$session =& JFactory::getSession();

// Get params and component configurations
$params = new JParameter($contact->params);
$pparams = &$mainframe->getParams('com_contact');

// check for session cookie
$sessionCheck = $pparams->get( 'validate_session', 1 );
$sessionName = $session->getName();
if  ( $sessionCheck ) {
if ( !isset($_COOKIE[$sessionName]) ) {
$this->setError( JText::_('ALERTNOTAUTH') );
return false;
}
}

// Determine banned e-mails
$configEmail = $pparams->get( 'banned_email', '' );
$paramsEmail = $params->get( 'banned_mail', '' );
$bannedEmail = $configEmail . ($paramsEmail ? ';'.$paramsEmail : '');

// Prevent form submission if one of the banned text is discovered in the email field
if(false === $this->_checkText($email, $bannedEmail )) {
$this->setError( JText::sprintf('MESGHASBANNEDTEXT', JText::_('Email')) );
return false;
}

// Determine banned subjects
$configSubject = $pparams->get( 'banned_subject', '' );
$paramsSubject = $params->get( 'banned_subject', '' );
$bannedSubject = $configSubject . ( $paramsSubject ? ';'.$paramsSubject : '');

// Prevent form submission if one of the banned text is discovered in the subject field
if(false === $this->_checkText($subject, $bannedSubject)) {
$this->setError( JText::sprintf('MESGHASBANNEDTEXT',JText::_('Subject')) );
return false;
}

// Determine banned Text
$configText = $pparams->get( 'banned_text', '' );
$paramsText = $params->get( 'banned_text', '' );
$bannedText = $configText . ( $paramsText ? ';'.$paramsText : '' );

// Prevent form submission if one of the banned text is discovered in the text field
if(false === $this->_checkText( $body, $bannedText )) {
$this->setError( JText::sprintf('MESGHASBANNEDTEXT', JText::_('Message')) );
return false;
}

// test to ensure that only one email address is entered
$check = explode( '@', $email );
if ( strpos( $email, ';' ) || strpos( $email, ',' ) || strpos( $email, ' ' ) || count( $check ) > 2 ) {
$this->setError( JText::_( 'You cannot enter more than one email address', true ) );
return false;
}

return true;
}

/**
* Checks $text for values contained in the array $array, and sets error message if true...
*
* @param String $text Text to search against
* @param String $list semicolon (;) seperated list of banned values
* @return Boolean
* @access protected
* @since 1.5.4
*/
function _checkText($text, $list) {
if(empty($list) || empty($text)) return true;
$array = explode(';', $list);
foreach ($array as $value) {
$value = trim($value);
if(empty($value)) continue;
if ( JString::stristr($text, $value)!== false ) {
return false;
}
}
return true;
}



}

*

draff

  • Практически профи
  • *******
  • 2740
  • 169
  • step by step
в шаблоне вставлен код вывода системных сообщений, на стандартном шаблоне проверяли?

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
в шаблоне вставлен код вывода системных сообщений, на стандартном шаблоне проверяли?
это (код) где искать? Я все лишние шаблоны снёс! У меня один шаблон.designed by raduga - http://mambasana.ru/content/view/30/9/
« Последнее редактирование: 27.05.2017, 12:22:36 от Elimelech »

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
<jdoc:include type="message" /> отсутствует, как таковое.
и куда это вставить в код шаблона?

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
и куда это вставить в код шаблона?
Там, где вы хотите вывод делать.
Рядом с компонентом вставьте.На строчку выше.

Дайте ваш индекс в корне и индекс шаблона в спойлерах.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
индекс в корне:
Код
<?php
/**
* @version $Id: index.php 14401 2010-01-26 14:10:00Z louis $
* @package Joomla
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Set flag that this is a parent file
define( '_JEXEC', 1 );

define('JPATH_BASE', dirname(__FILE__) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;

/**
 * CREATE THE APPLICATION
 *
 * NOTE :
 */
$mainframe =& JFactory::getApplication('site');

/**
 * INITIALISE THE APPLICATION
 *
 * NOTE :
 */
// set the language
$mainframe->initialise();

JPluginHelper::importPlugin('system');

// trigger the onAfterInitialise events
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
$mainframe->triggerEvent('onAfterInitialise');

/**
 * ROUTE THE APPLICATION
 *
 * NOTE :
 */
$mainframe->route();

// authorization
$Itemid = JRequest::getInt( 'Itemid');
$mainframe->authorize($Itemid);

// trigger the onAfterRoute events
JDEBUG ? $_PROFILER->mark('afterRoute') : null;
$mainframe->triggerEvent('onAfterRoute');

/**
 * DISPATCH THE APPLICATION
 *
 * NOTE :
 */
$option = JRequest::getCmd('option');
$mainframe->dispatch($option);

// trigger the onAfterDispatch events
JDEBUG ? $_PROFILER->mark('afterDispatch') : null;
$mainframe->triggerEvent('onAfterDispatch');

/**
 * RENDER  THE APPLICATION
 *
 * NOTE :
 */
$mainframe->render();

// trigger the onAfterRender events
JDEBUG ? $_PROFILER->mark('afterRender') : null;
$mainframe->triggerEvent('onAfterRender');

/**
 * RETURN THE RESPONSE
 */
echo JResponse::toString($mainframe->getCfg('gzip'));


индекс в шаблоне:

Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
<meta name="webmoney" content="088F2717-C5A0-4B19-BCCC-E63505AAB964"/>
</head>
<body id="body_bg">
     <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
         <tr>
               <td width="169"  align="left"  valign="middle">

               
                    <div>
               
</div>

                  

                </td>

<td>&nbsp;</td>
                 <td  width="601" align="center" class="topnav" valign="bottom">

                      <?php if($this->countModules('user3')) : ?>
                    <div>
                      <jdoc:include type="modules" name="user3" />
                    </div>
                      <?php endif; ?>

                 </td>
        
        </tr>
  </table>  
  <table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
                 <td  align="center" class="logoheader">&nbsp;</td>
<td><div align="right"></div></td>
</tr>
</table>
  
<table width="100%"  border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td class="top1" >
<div class="pw">
<jdoc:include type="module" name="breadcrumbs" />
</div>
<div class="date"><?php echo JHTML::Date( 'now', '%d | %m | %Y' ); ?></div>
</td>
</tr>
</table>



  <table width="95%" class="top2"  border="0" align="center" cellpadding="0" cellspacing="0"  >
          <tr>
                 <?php if($this->countModules('left')) : ?>
             <td valign="top" class="lcol">
                 <div class="leftrow">
                   <jdoc:include type="modules" name="left" style="table"/>
                 </div>
             </td>
          
             <td class="bgline" ><img  src="templates/<?php echo $this->template ?>/images/space.gif" alt="" width="7" border="0"/></td>
            
                   <?php endif; ?>

             <td valign="top"  width="100%" >
  <table width="100%"  border="0" cellspacing="0" cellpadding="0" style="border-top: 5px solid #ffffff;">

<?php if($this->countModules('top')) : ?>
            
          <tr valign="top" >
                   <td colspan="3">
                        <div>
                        <jdoc:include type="modules" name="top" style="table"/>
                        </div>
                   </td>
          </tr>
               <tr><td colspan="3"></td></tr>
<?php endif; ?>

<?php if($this->countModules('user1 or user2')) : ?>
          <tr>
                        <?php if($this->countModules('user1')) : ?>
                       <td valign="top" ><div>
                        <jdoc:include type="modules" name="user1" style="table"/>
                        </div>
                       </td>
                       <td width="4" class="mod" valign="top" bgcolor="#FFFFFF" ><div class="mod">
<?php endif; ?>

<?php if($this->countModules('user2')) : ?> </div></td>
                  
                       <td valign="top"><div>
                    <jdoc:include type="modules" name="user2" style="table"/>
                    </div></td>
<?php endif; ?>
          </tr>
                    
                   <tr><td colspan="3"></td></tr>
                    <?php endif; ?>

          <tr align="left" valign="top">
                      <td colspan="3" style="border-top: 3px solid #ffffff; padding: 3px;">




<div class="main">
<?php if($this->params->get('showComponent')) : ?>
<jdoc:include type="component" />
<?php endif; ?>

                      </div>
</td>
          </tr>
          <tr>
                      <td colspan="3" valign="top" style="border-top: 3px solid #FFFFFF;">
<?php if($this->countModules('bottom')) : ?>
                      <div>
                      <jdoc:include type="modules" name="bottom" style="table"/>
                      </div>
<?php endif; ?>
                      </td>
          </tr>
  </table>
  
  </td>

<td class="bgline" ><img  src="templates/<?php echo $this->template ?>/images/space.gif" alt="" width="7" border="0"/></td>

                      
<?php if($this->countModules('right')) : ?>

<td valign="top" class="rcol">
                  <div class="rightrow">
                  <jdoc:include type="modules" name="right" style="table"/>
                  </div>
                  </td>
<?php endif; ?>
       </tr>
</table>
        
<table width="100%" class="foot"  align="center" border="0" cellspacing="0" cellpadding="0">
                <tr>

                                     <td  width="100%"  align="center" class="footer" ><a href="http://mambasana.ru" target="_blank">raduga</a>              
                                     </td>

               </tr>
</table>
</body>
</html>

*

draff

  • Практически профи
  • *******
  • 2740
  • 169
  • step by step
Код
<div class="main">
<jdoc:include type="message" />
<?php if($this->params->get('showComponent')) : ?>
<jdoc:include type="component" />
<?php endif; ?>

                      </div>
Нужно так

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Вот вам верный ответ выше: на строчку выше компонента для появления ваших сообщений.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Вот вам верный ответ выше: на строчку выше компонента для появления ваших сообщений.
и где эта строчка?

« Последнее редактирование: 27.05.2017, 14:14:25 от Elimelech »

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
и где эта строчка?

<div class="main">
<jdoc:include type="message" />  (=> это новая у вас строка, которую вам надо добавить в ваш код в это место! ^-^)
<?php if($this->params->get('showComponent')) : ?>
   <jdoc:include type="component" />
<?php endif; ?>

                      </div>
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
<div class="main">
<jdoc:include type="message" />  (=> это новая у вас строка, которую вам надо добавить в ваш код в это место! ^-^)
<?php if($this->params->get('showComponent')) : ?>
   <jdoc:include type="component" />
<?php endif; ?>

                      </div>

Я вот где-то читал такую инфу, такой код правильный?:


Данный блок выводится при помощи конструкции
Код (PHP):
Код
    <jdoc:include type="message" />



Однако, иногда при вёрстке возникает проблема: если системных сообщений нет, в HTML-разретке выводится пустой контейнер:
Код (html):

Код
    <div id="system-message-container"> </div>



Убрать его можно добавив при выводе простейшее условие:
Код (PHP):
Код
    <?php
    $app = JFactory::getApplication();
    if($app->getMessageQueue()) {
    ?>
    
    <jdoc:include type="message" />
    
    <?php } ?>


В результате, если на данный момент системных сообщений нет, на страницу не будут выводится лишние элементы разметки.

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
А где копать, чтобы сделать вывод сообщения при отправке в рамочке и сделать другим цветом само сообщение?
: Сообщение отправлено

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
А где копать, чтобы сделать вывод сообщения при отправке в рамочке и сделать другим цветом само сообщение?
: Сообщение отправлено
в css/ смотрите стили для вашего сообщения.
По надобности обрамляйте в уникальный класс для дива и манипулируйте фантазиями.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
в css/ смотрите стили для вашего сообщения.
По надобности обрамляйте в уникальный класс для дива и манипулируйте фантазиями.
А где эти стили, чото их нету в папке компонента контакта?


К примеру, мне очень не нравилось, что над собственно текстом есть надпись "Сообщение", чтобы ликвидировать требуется закомментировать строку

Код
$contents .= "\n<dt class=\"".strtolower($type)."\">".JText::_( $type )."</dt>";

файл libraries\joomla\document\html\renderer\message.php

Я правильно сделал? Ещё где-то ошибки не вылезут, если я закоментировал эту строку? Спасибо за ответы!

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Неправильно, т.к. при следующем обновлении все ваши старания затрутся.
И при чём тут папка компонента контакта?

<div class="ваш класс">
<jdoc:include type="message" />
</div>

и в css:
.ваш класс {
ваши стили для сообщений
}
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Неправильно, т.к. при следующем обновлении все ваши старания затрутся.

что неправильно, и что затрётца?

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Не мучайтесь, поставьте себе модалку для системных, там свои стили, их можете резать, как вам удобно.
https://extensions.joomla.org/extension/modal-system-messages/

Ваши сообщения будут в сплывающем окне.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Не мучайтесь, поставьте себе модалку для системных, там свои стили, их можете резать, как вам удобно.
https://extensions.joomla.org/extension/modal-system-messages/

Ваши сообщения будут в сплывающем окне.
у меня Joomla 1.5.26

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
сорри, не учёл, что не 3.x
хотя на форуме есть в поиске модальное окно для системных сообщений.

В любом случае-я вам показал, что обрамляйте код сообщения в класс свой и манипулируйте CSS.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Неправильно, т.к. при следующем обновлении все ваши старания затрутся
Я не понял к чему вы это говорите?

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Я не понял к чему вы это говорите?

Ну если вы правите ядро : файл libraries\joomla\document\html\renderer\message.php
то при обновлении файл то заменится.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Ну если вы правите ядро : файл libraries\joomla\document\html\renderer\message.php
то при обновлении файл то заменится.
каком обновлении? Эта версия Joomla уже давно не обновляеться!

*

vipiusss

  • Профи
  • ********
  • 5529
  • 318
  • Круглая ава-зло!
Если вы будете ветку эту у себя обновлять или из бекапа.
Да и зачем вам править этот файл, если просто в дивы окуните сообщение и выведите стили.

Не понимаю ваше "не получается".
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Elimelech

  • Осваиваюсь на форуме
  • ***
  • 173
  • 2
Если вы будете ветку эту у себя обновлять или из бекапа.
Да и зачем вам править этот файл, если просто в дивы окуните сообщение и выведите стили.

Не понимаю ваше "не получается".

За закоменнтировал строку, чтобы не выводился заголовок: "Соообщение"