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

archer1981

  • Захожу иногда
  • 283
  • 13 / 0
Добавил в БД новые поля по методу Митрича (допполя содержимого). Теперь необходимо обрабатывать в этих полях тэг {mosimage}. Как это сделать? Смотрю на код мамбота...
вот это кажется то место, где вычисляются тэги:
Цитировать
   // simple performance check to determine whether bot should process further
   if ( strpos( $row->text, 'mosimage' ) === false ) {
      return true;
   }
   
    // expression to search for
   $regex = '/{mosimage\s*.*?}/i';

   // check whether mosimage has been disabled for page
   // check whether mambot has been unpublished
   if (!$published || !$params->get( 'image' )) {
      $row->text = preg_replace( $regex, '', $row->text );
      return true;
   }
   
   //count how many {mosimage} are in introtext if it is set to hidden.
   $introCount=0;
   if ( ! $params->get( 'introtext' ) & ! $params->get( 'intro_only') )
   {
      preg_match_all( $regex, $row->introtext, $matches );
      $introCount = count ( $matches[0] );
   }

   // Найти все образцы мамбота и вставить в $matches
   preg_match_all( $regex, $row->text, $matches );

    // Количество мамботов
   $count = count( $matches[0] );
плюс
Цитировать
// Выполнение замены
      $row->text = preg_replace_callback( $regex, 'botMosImage_replacer', $row->text );
      $row->gallery = preg_replace_callback( $regex, 'botMosImage_replacer', $row->gallery );
То есть везде где упоминается $text надо добавлять и моё поле $gallery. Как это правильно сделать?
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
в общем-то да :)
но может стоит добавить к text gallery, ведь иначе придется везде выводить дополнительно это поле
*

archer1981

  • Захожу иногда
  • 283
  • 13 / 0
в общем-то да :)
но может стоит добавить к text gallery, ведь иначе придется везде выводить дополнительно это поле
Как именно "стоит добавить"? Я пока что как ни добавляю, мамбот в моём поле не работает.
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
$row->text содержит в себе вводный текст и текст продолжение (это для новости), вот и добавьте туда
$row->text .= $row->gallery;
*

archer1981

  • Захожу иногда
  • 283
  • 13 / 0
Может я глупый, но:

1) позаменял везде где можно $row->text  на $row->text .= $row->gallery; - или не работает, или вообще страница не грузится
2) просто вставил в начале кода (49й строкой) $row->text .= $row->gallery; - не работает

О, конечно же, он содержимое galery добавляет к text, и там же его и выдаёт по запросу echo ampReplace( $row->text ). А мне gallery надо отдельно выводить, то есть через echo ampReplace( $row->gallery );

Так куда это добавлять? Может с $gallery что то ещё делать надо?
« Последнее редактирование: 10.10.2008, 20:07:20 от archer1981 »
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Давай по-порядку!
в этом поле, у тебя картинки лежат в каком виде
1. <img ...... >
2. bla.jpg||||||
    bla2.jpg||||||
3. {mosimage}{mosimage}{mosimage} а сами они поле images (стандартном)

если судить по :

О, конечно же, он содержимое galery добавляет к text, и там же его и выдаёт по запросу echo ampReplace( $row->text ). А мне gallery надо отдельно выводить, то есть через echo ampReplace( $row->gallery );


то у тебя 1й вариант хранения изображений!

В этом случае тебе мамбот mosimages никак не подойдет! Тогда надо смотреть в сторону бота lightbox (кажется так)
*

archer1981

  • Захожу иногда
  • 283
  • 13 / 0
1. Для показа изображений я пользуюсь мамботом multithumb. Может в нём надо копать?
2. Изображения я использую только в поле gallery, которое в нужном количестве заполняю тэгом {mosimage}

... И точно! Заменил text на gallery в файле мамбота multithumb - заработало.
« Последнее редактирование: 11.10.2008, 19:45:52 от archer1981 »
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Умница!
Только теперь верни назад text :)
и сделай обработку строчки $row->gallery в мамботе.
а этого мало  $row->gallery = preg_replace_callback( $regex, 'botMosImage_replacer', $row->gallery );

с тебя "+" ;)
*

archer1981

  • Захожу иногда
  • 283
  • 13 / 0
Тогда осталось только понять как совместить в одном мамботе text и gallery. Вот строчки из файла multithumb.php, где встречается обработка переменной:

Цитировать
   if (!$published ) {
     $row->gallery = preg_replace('#{(no)?multithumb}#i', '', $row->gallery);
     return true;
   }
Цитировать
   $donothing = ($botMtGlobals['exclude_tagged'] && stristr($row->gallery, '{nomultithumb}')!==false) || (preg_match('/{multithumb([^}]*)}/is', $row->gallery, $botMtParams)==0 && $botMtGlobals['only_tagged']);
   if($donothing) {
        $row->gallery = preg_replace('/{(no)?multithumb([^}]*)}/i', '', $row->gallery);
        return true;
   }
Цитировать
$row->gallery = preg_replace_callback($regex, "bot_mt_image_replacer", $row->gallery);
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
получилось чего у тебя?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как сделать ссылку в статье?

Автор karina_bk

Ответов: 10
Просмотров: 3833
Последний ответ 19.04.2012, 12:38:39
от karina_bk
Как запретить отправку если поля не заполнены.

Автор AlexAl

Ответов: 1
Просмотров: 6729
Последний ответ 19.03.2010, 22:55:59
от Ole888
MosImage

Автор ASDF

Ответов: 13
Просмотров: 2342
Последний ответ 01.09.2009, 12:25:21
от smivan85
Оформление рисунка в статье

Автор rosalin

Ответов: 3
Просмотров: 1788
Последний ответ 06.06.2009, 13:29:48
от ShadowXak
Как включить теги?

Автор Kaspot

Ответов: 1
Просмотров: 1673
Последний ответ 04.05.2009, 17:14:12
от DK-Scorp