Доска объявлений

Не получается отредактировать объявление.

#1 27 января 2015 в 12:20
Доска объявлений

Версия 10.6, при подаче объявления на доску объявлений юзер сталкивается с выбором: страна-край/область-город.
Эту проблему в 10.3 решил здесь instantcms.ru/forum/thread17764.html#167696

Такая же задача встала и на версии 10.6 эту проблему я решил так:

компонент ваш-шаблон/com_board_edit строка 30-37 удаляем


  1.  
  2. <tr class="proptable">
  3. <td>
  4. <span>{$LANG.CITY}:</span>
  5. </td>
  6. <td height="35" valign="top">
  7. {city_input value=$item.city name="city" width="403px"}
  8. </td>
  9. </tr>
  10.  
  11.  
из корня сайта /components/board/frontend.php
комментируем строки 332, 350, 359 286 381 510

  1.  
  2. //$city = cmsCore::request('city', 'str', '');
  3. //if (!$city) { cmsCore::addSessionMessage($_LANG['NEED_CITY'], 'error'); $errors = true; }
  4. //$item['city'] = stripslashes($city);
  5. //$item['city'] = !empty($item['city']) ? $item['city'] : $inUser->city;
  6. //'city'=>$city
  7. //$update['city'] = cmsCore::request('city', 'str', '');
  8.  




строка 76-80 комментируем

  1.  
  2. //Город
  3. //if ($model->city) {
  4. //$model->whereCityIs($model->city);
  5. //$pagetitle .= ' :: '.$model->city;
  6. //}
  7.  

  1.  
  2. com_board_order_form строка 12-15 удаляем
  3.  
  4. <td >{$LANG.CITY}: </td>
  5. <td >
  6. {$bcities}
  7. </td>
  8.  
Но возникла проблема, при попытке отредактировать объявление ( сделать вип, или просто изменить текст )
Выскакивает надпись необходимо указать город. И получается, что объявление можно отредактировать только в БД, что очень неудобно
смотри фото


Как решить эту проблему?
#2 27 января 2015 в 12:39
Россия и блондинки,
Не изучал 1.6 возможно там какие то особенности которые делают мой ответ не в тему, но насколько я понимаю вопрос
я бы сделал проще.

/components/board/frontend.php

Россия и блондинки
вернуть к исходному состоянию.
в файле шаблона com_board_edit.tpl
{city_input value=$item.city name="city" width="403px"}

заменить на
<input style="display:none" name="city" class="text-input" type="text" id="city_ed" style="width:184px" value="Санта-Барбара"/>

Здесь я принудительно указал город один для всех и просто сделал это поле невидимым.
#3 27 января 2015 в 13:00

я бы сделал проще

Все так, но не совсем. Во-первых нужно передать несколько полей, а во-вторых зачем скрывать при помощи стилей, для этого есть type=hidden. Я бы и расписал как, но не совсем понял что хочет ТС, Зарядить вообще все объявления на один город или запретить менять город при редактировании? Что?
#4 27 января 2015 в 13:51
Я удалил функцию: выбор страны-выбор региона-выбор города т.к. в нужной мне доске объявлений эта функция мне мешает, и заставляет пользователей делать кучу лишних телодвижений. Для пользователей сейчас всё ок,а админ не может отредактировать объявление. Если конкретно: при попытке сделать объявление вип выскакивает надпись НЕОБХОДИМО УКАЗАТЬ ГОРОД, и не даёт отредактировать объявление. Как сделать так чтобы была возможность редактировать объявление на сайте, а не через БД?
#5 27 января 2015 в 14:38
Нил уже почти ответил

вернуть к исходному состоянию. в файле шаблона com_board_edit.tpl {city_input value=$item.city name="city" width="403px"} заменить на

То есть действия буквально следующие:
1. Вернуть все что редактировали к исходному состоянию.
2. Убедиться что все на месте и работает.
3. Открыть файл com_board_edit.tpl и найти участок кода в котором расположен блок выбора города, что-то вроде {city_input value=$ite......
4. Если ориентироваться по дефолтному шаблону, то интересует <tr class="proptable"> и все что внутри
5. Открыть окно добавления(редактирования) объявления и как положено выбрать нужный город.
6. Ничего не обновляя и не отправляя посмотреть при помощи firebug или подобного исходный код содержимого <tr class="proptable">
7. Скопировать 4 инпута с type=hidden
8. Вставить эти 4 инпута вместо <tr class="proptable">, классы можно удалить, они не нужны.
То есть было так
  1.  
  2. <tr class="proptable">
  3. <td>
  4. <span>{$LANG.CITY}:</span>
  5. </td>
  6. <td height="35" valign="top">
  7. {city_input value=$item.city name="city" width="403px"}
  8. </td>
  9. </tr>
  10.  
Должно стать вот так
  1.  
  2. <input type="hidden" name="city" value="Москва">
  3. <input type="hidden" name="city_id" value="4400">
  4. <input type="hidden" name="region_id" value="4312">
  5. <input type="hidden" name="country_id" value="3159">
  6.  
9. Все.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.