Добавил пункт в админ панель, но не сохраняет.

#1 28 сентября 2015 в 18:28
Здравствуйте!
Я добавил пункт (его надо заполнять при добавлении категории через админку)
Пункт называется постфикс (окончание новости в титл)
Добавил я его после заголовка
  1. <strong>Заголовок страницы</strong><br/>
  2. <span class="hinttext">Если не указан, будет совпадать с названием</span>
  3. </div>
  4. <div><input name="pagetitle" type="text" id="pagetitle" style="width:99%" value="<?php echo htmlspecialchars(@$mod['pagetitle']);?>"></div>
  5. <div>
  6. [b]<strong>Постфикс</strong><br/>
  7. <span class="hinttext">Если не указан, не будет виден</span>
  8. </div>
  9. <div><input name="movie_postfix" type="text" id="movie_postfix" style="width:99%" value="<?php echo htmlspecialchars(@$mod['movie_postfix']);?>">[/b]</div>
создал столбец в базе данных movie_postfix

Но при добавлении или же редактировании пункта Постфикс, и сохранении категории. Пункт остается такой какой был (не сохраняется)

Помогите пожалуйста что надо прописать для того чтоб все успешно работало.
А то каждый раз приходиться лазить в базу данных чтоб изменить или же внести текст постфикса.

Мне подсказали что плагин надо написать на действие, но как писать я тоже не знаю.
Буду очень признателен если поможете! Спасибо!!!
#2 28 сентября 2015 в 19:24
Какая ветка?
#3 28 сентября 2015 в 19:39


Какая ветка?

Lora

Здравствуйте!
версия 1.10.6
#4 28 сентября 2015 в 20:20
Ясно. Но вот кроме этого ничего больше не понятно. smileДавайте всё по новой.Что куда добавляете, какие файлы правите и т.п.Попробуем разобраться для начала с этим.
#5 28 сентября 2015 в 20:33
Значится, я решил сделать постфикс (окончание для новости)
пример: Футбол сборных — смотрите онлайн ( — смотрите онлайн "это профикс")

Мне посоветовали вывести профикс через базу данных.
Добавить в таблицу cms_video_category столбец movie_postfix

Я добавил столбец в базу так: ALTER TABLE cms_video_category ADD movie_postfix TEXT
#6 28 сентября 2015 в 20:44
Роберс, Если вы так будите излагать свои мысли, то вам сложно будет помогать. Из поста я понял, что у вас видеокомпонент? Профикс, это ссылка, как я понимаю? Так и оформляйте её как ссылку, при чём здесь БД? У каждой новости есть свой URL, который как правило всегда можно вывести в шаблоне. Или я не так понял. Дайте ссылку на какой нибудь сайт, где такое же есть.
P.S. Заметил, что речь об админке. Тогда я вообще не понимаю, что вы хотите. Пример на другой компонент привидите, что ли.
#7 28 сентября 2015 в 20:47
Но зачем каждый раз заходить в базу данных и править профикс для новых категорий.

Решил добавить в фаил: /admin/components/video/add_cat.tpl.php
  1.  
  2. <strong>Постфикс</strong><br/>
  3. <span class="hinttext">Если не указан, не будет виден</span>
  4. </div>
  5. <div><input name="movie_postfix" type="text" id="movie_postfix" style="width:99%" value="<?php echo htmlspecialchars(@$mod['movie_postfix']);?>"></div>
  6.  
получилось вот так

Когда я правлю, изменяю или же добавляю текст в пункт "постфикс" сохраняю категорию с изменениями.
Но ничего не сохраняется именно в данном пункте "постфикс".

Как мне подсказали надо написать плагин на действия AFTER_SUBMIT_VIDEO_CAT AFTER_UPDATE_VIDEO_CAT, где в плагине я получу данные из своего поля и будет идти запись в базу.

Но я вообще не силен в плагине и вообще в php.

Будьте добры помогите решить проблему.
#8 28 сентября 2015 в 20:48


Роберс, Если вы так будите излагать свои мысли, то вам сложно будет помогать. Из поста я понял, что у вас видеокомпонент? Профикс, это ссылка, как я понимаю? Так и оформляйте её как ссылку, при чём здесь БД? У каждой новости есть свой URL, который как правило всегда можно вывести в шаблоне. Или я не так понял. Дайте ссылку на какой нибудь сайт, где такое же есть.
P.S. Заметил, что речь об админке. Тогда я вообще не понимаю, что вы хотите. Пример на другой компонент привидите, что ли.

Lora

я попробовал изложить проблему как следует выше.
#9 28 сентября 2015 в 20:51
Вы хотите для каждой категории свой постфикс?
#10 28 сентября 2015 в 20:52


Вы хотите для каждой категории свой постфикс?

Lora

да верно.
#11 28 сентября 2015 в 20:55
мне предложили вывести так:
  1.  
  2. if( in_array($cat_id, array(1, 2, 3, 4)) )
  3. {
  4. $inPage->setTitle(($movie['pagetitle'] ? $movie['pagetitle'] : $movie['title']).$playlist_append_title . "твой титл для категорий с 1 по 4");
  5. }
  6. else
  7. {
  8. $inPage->setTitle(($movie['pagetitle'] ? $movie['pagetitle'] : $movie['title']).$playlist_append_title . "твой титл для категорий кроме 1 по 4");
  9. }
  10. }
но почему-то не работает… хотя конечно это лучше
#12 28 сентября 2015 в 20:57
Теперь понятно. Здесь всё не так просто. Придётся повозиться. К тому же компонент у вас, у меня нет, поэтому как я вам помогу?.. Я бы мог возможно описать как это сделать на примере другого компонента, если есть смысл, т.е. если потом вы разберётесь.
#13 28 сентября 2015 в 20:58


Теперь понятно. Здесь всё не так просто. Придётся повозиться. К тому же компонент у вас, у меня нет, поэтому как я вам помогу?.. Я бы мог возможно описать как это сделать на примере другого компонента, если есть смысл, т.е. если потом вы разберётесь.

Lora

Хорошо попробую разобраться. Буду даже рад сам разобраться на примере
#14 28 сентября 2015 в 21:01
Хорошо, ждите, я отпишусь как буду готов.
#15 28 сентября 2015 в 21:53
Итак, файл .../backend.php. Допустим, вы хотите в форму добавить поле с описанием чего либо.
  1. <tr>
  2. <td width="300" style="" ><?php echo'Description'; ?>:</td>
  3. <td> <textarea name="description" style="width:285px;" rows="4"><?php echo $mod['description']?></textarea></td>
  4. </td>
  5. </tr>
Соответственно в начало файла, в
  1. if($opt=='saveconfig'){ нужно добавить $cfg['description'] = cmsCore::request('description','str');
(Эту переменную вы сможите вызвать во frontend.php, если надо будет).
В таблице БД у вас должно быть соответствующее поле 'description'. А так же там, где у вас форма, должен быть (или не быть) массив, что то типа
  1. .......................
  2. $mod['....'] = cmsCore::request('....', 'str');
  3. .......................
  4. куда и следует добавить
  5. .......................
  6. $mod['description'] = cmsCore::request('description','str');
  7. ......................
  8. или так
  9.  
  10. if (!isset($mod['description'])) { $mod['description'] = cmsCore::request('description', 'str'); }
Здесь возможны варианты.Если массив есть, нужно найти место где он обновляется в БД и посмотреть как это дело происходит.
Может нужно буде в запрос дописать $mod['description'], если запрос в файле, или или нет, если через ф-цию.

Ну вот примерно так.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.