Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Столкнулся с тем, что на электронную почту за несколько дней до окончания срока публикации объявления приходит простой текст, ссылки не выделены, приходилось копировать и вставлять в адресную строку браузера. Более того, после того, как нажимаешь Enter, тебя перебрасывает на страницу авторизации, хотя для размещения объявлений создавать новый аккаунт не требуется и размещались, следовательно, все объявления от имени гостя.

Всё это, конечно же, правится ручками. Решения следующие.

Чтобы на электронную почту приходили письма с ссылками, идём в языковой файл и всего лишь дописываем знак = к ссылке в конструкции ADSMANAGER_EXPIRATION_MAIL_BODY="... <a href'%s'>%s</a>". Зачем разработчики создавали ссылку и не сделали её таковой, для меня осталось загадкой.

Чтобы избежать ненужной авторизации и разрешить продлевать срок размещения пользователям сайта, которые добавили объявление без создания аккаунта, идём в папку components/com_adsmanager/views/expiration и открываем для редактирования файлик view.html.php. В нём нас интересуют следующие строчки:

Код
		if ($user->id == 0) {
$return = base64_encode(JRoute::_("index.php?option=com_adsmanager&view=expiration&id=$contentid&Itemid=".$this->get("Itemid")));
$app->redirect( "index.php?option=com_user&view=login&return=$return","");
}

Закомментируем лишнее и доведём их до такого вида:

Код
		/*if ($user->id == 0) {*/
$return = base64_encode(JRoute::_("index.php?option=com_adsmanager&view=expiration&id=$contentid&Itemid=".$this->get("Itemid")));
//$app->redirect( "index.php?option=com_user&view=login&return=$return","");
//}

Сохраняем. Теперь на почту будут приходить ссылки, при клике по которым пользователь будет видеть на сайте кнопочку "Продлить объявление".  ;)

Использовался AdsManager 2.6.5.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #1 : 17.05.2012, 20:25:55 »
Ссылку он просто сделал с ошибкой <a href'%s'>%s</a>, а она должна быть вот такая <a href=\"%s\">%s</a>" и все будет приходить нормально...
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #2 : 19.05.2012, 01:01:34 »
как добавить кнопку продлить объявление в просмотре подробного вида объявлений
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #3 : 19.05.2012, 02:03:26 »
как добавить кнопку продлить объявление в просмотре подробного вида объявлений
Во-первых, если это вопрос, нужно ставить вопросительный знак. Во-вторых, ваше сообщение не в тему. В-третьих, на странице деталей в стандартном компоненте версии 2.6.5 уже есть такая ссылка. Находится она рядом с ссылкой "Удалить", под заголовком объявления.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #4 : 19.05.2012, 21:26:15 »
Во-первых, если это вопрос, нужно ставить вопросительный знак. Во-вторых, ваше сообщение не в тему. В-третьих, на странице деталей в стандартном компоненте версии 2.6.5 уже есть такая ссылка. Находится она рядом с ссылкой "Удалить", под заголовком объявления.
Там находится ссылка "Изменить", а мне надо как на странице "Все объявления" внизу появляется кнопка "обновить объявления".
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #5 : 22.05.2012, 15:19:53 »
Там находится ссылка "Изменить", а мне надо как на странице "Все объявления" внизу появляется кнопка "обновить объявления".
Все решил.
*

Иваныч57

  • Захожу иногда
  • 79
  • 0 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #6 : 04.06.2012, 10:29:27 »
Все решил.
в четвертых: если решил, то и нам дай знать как :)
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #7 : 04.06.2012, 11:07:24 »
В файле /components/com_adsmanager/views/details/tmpl/default.php
После строк
$target = JRoute::_("index.php?option=com_adsmanager&Itemid=$this->Itemid&task=delete&catid=".$this->content->category."&id=".$this->content->id."&Itemid=".$this->Itemid);
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
         Вставляем строки
if ($this->conf->expiration == 1) {
         ?>
               <br/>
               <?php echo JText::_('ADSMANAGER_EXPIRATION_DATE')?>: <?php echo $this->reorderDate($this->content->expiration_date)?>
                <br/>
                  <?php
               $expiration_time = strtotime($this->content->expiration_date);
                  $current_time = time();
                  if ($expiration_time - $current_time <= ($conf->recall_time * 3600 *24)) {
                     $target = JROUTE::_("index.php?option=com_adsmanager&view=expiration&catid=".$this->content->catid."&id=".$this->content->id."&Itemid=".$this->Itemid);
                  echo "<br/><a href='".$target."'>".JText::_('ADSMANAGER_RENEW_CONTENT')."</a>";
                  }
и через три строки ставим третью }
 И файле /components/com_adsmanager/views/details/view.html.php перед function loadScriptImage($image_display) вставляем функцию
function reorderDate( $date ){
      $format = JText::_('ADSMANAGER_DATE_FORMAT_LC');
      
      if ($date && (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})/",$date,$regs))) {
         $date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
         $date = $date > -1 ? strftime( $format, $date) : '-';
      }
      return $date;
   }
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #8 : 04.06.2012, 11:10:55 »
Ссылку он просто сделал с ошибкой <a href'%s'>%s</a>, а она должна быть вот такая <a href=\"%s\">%s</a>" и все будет приходить нормально...
\ - в <a href=\"%s\">%s</a>" ставить обязательно?
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #9 : 04.06.2012, 11:19:23 »
\ - в <a href=\"%s\">%s</a>" ставить обязательно?
Что за глупые вопросы? Не поставите - будет ошибка. У вас же само сообщение в двойных кавычках, а не одинарных...
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #10 : 04.06.2012, 20:07:15 »
В файле /components/com_adsmanager/views/details/tmpl/default.php
После строк
$target = JRoute::_("index.php?option=com_adsmanager&Itemid=$this->Itemid&task=delete&catid=".$this->content->category."&id=".$this->content->id."&Itemid=".$this->Itemid);
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
         Вставляем строки
if ($this->conf->expiration == 1) {
         ?>
               <br/>
               <?php echo JText::_('ADSMANAGER_EXPIRATION_DATE')?>: <?php echo $this->reorderDate($this->content->expiration_date)?>
                <br/>
                  <?php
               $expiration_time = strtotime($this->content->expiration_date);
                  $current_time = time();
                  if ($expiration_time - $current_time <= ($conf->recall_time * 3600 *24)) {
                     $target = JROUTE::_("index.php?option=com_adsmanager&view=expiration&catid=".$this->content->catid."&id=".$this->content->id."&Itemid=".$this->Itemid);
                  echo "<br/><a href='".$target."'>".JText::_('ADSMANAGER_RENEW_CONTENT')."</a>";
                  }
и через три строки ставим третью }
 И файле /components/com_adsmanager/views/details/view.html.php перед function loadScriptImage($image_display) вставляем функцию
function reorderDate( $date ){
      $format = JText::_('ADSMANAGER_DATE_FORMAT_LC');
      
      if ($date && (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})/",$date,$regs))) {
         $date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
         $date = $date > -1 ? strftime( $format, $date) : '-';
      }
      return $date;
   }
Изменить Удалить
Срок действия: 09-02-2012
а ссылка на Обновить объявление - отсутствует
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #11 : 04.06.2012, 22:34:45 »
Изменить Удалить
Срок действия: 09-02-2012
а ссылка на Обновить объявление - отсутствует
Когда срок объявления подойдет к концу срока публикации ссылка будет. Вручную в админке измени дату окончания срока и она появится.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #12 : 04.06.2012, 22:37:39 »
Сделал так:
В файле /components/com_adsmanager/views/details/tmpl/default.php

Вместо строк:
<?php
            $target = JRoute::_("index.php?option=com_adsmanager&Itemid=".$this->Itemid."&task=write&catid=".$this->content->category."&id=".$this->content->id."&Itemid=".$this->Itemid);
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
            echo "&nbsp;";
            $target = JRoute::_("index.php?option=com_adsmanager&Itemid=$this->Itemid&task=delete&catid=".$this->content->category."&id=".$this->content->id."&Itemid=".$this->Itemid);
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
         ?>

Вставил:
<?php
                  $target = JROUTE::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
                  echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
                  echo "&nbsp;";
                  $target = JROUTE::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
                  echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
               if ($this->conf->expiration == 1) {
               ?>
               <br/>
               <?php echo JText::_('ADSMANAGER_EXPIRATION_DATE')?>: <?php echo $this->reorderDate($content->expiration_date)?>
               <br/>
               <?php
                  $target = JROUTE::_("index.php?option=com_adsmanager&view=expiration&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
                  echo "<a href='".$target."'>".JText::_('ADSMANAGER_RENEW_CONTENT')."</a>";
               ?>

А в файле /components/com_adsmanager/views/details/view.html.php
Перед function loadScriptImage($image_display) вставил функцию
function reorderDate( $date ){
      $format = JText::_('ADSMANAGER_DATE_FORMAT_LC');
      
      if ($date && (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})/",$date,$regs))) {
         $date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
         $date = $date > -1 ? strftime( $format, $date) : '-';
      }
      return $date;

В итоге получилось так:

Что не так, где дата?
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #13 : 04.06.2012, 23:03:44 »
<?php echo $this->reorderDate($content->expiration_date)?>
надо так
<?php echo $this->reorderDate($this->content->expiration_date)?>
и верхние строки исправь
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #14 : 04.06.2012, 23:33:26 »
<?php echo $this->reorderDate($content->expiration_date)?>
надо так
<?php echo $this->reorderDate($this->content->expiration_date)?>
и верхние строки исправь
Получилось! Спасибо!
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #15 : 05.06.2012, 08:22:01 »
\ - в <a href=\"%s\">%s</a>" ставить обязательно?
У меня так стоит еще с 2.5 версии и не каких проблем нет, все приходит как положено....
Но вы можете не поставить и посмотреть, что будет приходить....
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #16 : 05.06.2012, 12:37:26 »
У меня вот так <br/><a href='%s'>%s</a> и все приходит нормально активная ссылка.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #17 : 14.06.2012, 19:01:16 »
У меня вот так <br/><a href='%s'>%s</a> и все приходит нормально активная ссылка.
В первом сообщении такой пример и приведён. Если бы "не приходила нормальная ссылка", тему бы не создавал...
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

lindim

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
  • Футбольный фанат
Re: Продление сроков в AdsManager 2.6.5
« Ответ #18 : 30.06.2012, 12:33:50 »
Добрый день, я когда нажимаю на кнопку продлить объявление выскакивает:

Fatal error: Call to a member function loadResult() on a non-object in /home/ado/public_html/administrator/components/com_adsmanager/models/content.php on line 243

где нужно поправить?
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #19 : 30.06.2012, 12:58:04 »
Добрый день, я когда нажимаю на кнопку продлить объявление выскакивает:

Fatal error: Call to a member function loadResult() on a non-object in /home/ado/public_html/administrator/components/com_adsmanager/models/content.php on line 243

где нужно поправить?
/home/ado/public_html/administrator/components/com_adsmanager/models/content.php on line 243
*

real-man

  • Захожу иногда
  • 84
  • 4 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #20 : 08.07.2012, 21:03:05 »
/home/ado/public_html/administrator/components/com_adsmanager/models/content.php on line 243

Таже беда!
*

sover

  • Новичок
  • 4
  • 0 / 0
Re: Продление сроков в AdsManager 2.6.5
« Ответ #21 : 25.11.2012, 23:49:05 »
измените 243 строку на

$expiration_date = $this->_db->loadResult();
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nicklas

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

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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