Действия при просмотре фото

#16 16 марта 2012 в 11:45


а галку включить ставили? я так один раз пол дня волосы на груди рвал почему не работает

picaboo

стоит :)
#17 16 марта 2012 в 12:07
Сергей Игоревич, а теперь посмотри вот эту страницу.
Здесь выводится. Сравни урл-ы. Компоненты /users/ и /photos/. Соответственно и frontend.php разные. Пропиши событие и в компоненте /users/ и выведется.
#18 16 марта 2012 в 12:09


Сергей Игоревич, а теперь посмотри вот эту страницу.
Здесь выводится. Сравни урл-ы. Компоненты /users/ и /photos/. Соответственно и frontend.php разные. Пропиши событие и в компоненте /users/ и выведется.

Марат

О благодарю!
#19 16 марта 2012 в 12:17


Сергей Игоревич, а теперь посмотри вот эту страницу.
Здесь выводится. Сравни урл-ы. Компоненты /users/ и /photos/. Соответственно и frontend.php разные. Пропиши событие и в компоненте /users/ и выведется.

Марат

Отлично а теперь как сделать чтобы выводилось не до а после? О_О
#20 16 марта 2012 в 12:31

Отлично а теперь как сделать чтобы выводилось не до а после? О_О

Сергей Игоревич
Так стоит же print_r() или echo(), поэтому и выводится до того, как выведется фото. То есть выводится при выполнении функции. Чтобы выводилось после вывода фото, нужно записать в html и вывести потом. Или записать вывод в буфер и вывести с буфера.
#21 16 марта 2012 в 13:11


Отлично а теперь как сделать чтобы выводилось не до а после? О_О

Сергей Игоревич
Так стоит же print_r() или echo(), поэтому и выводится до того, как выведется фото. То есть выводится при выполнении функции. Чтобы выводилось после вывода фото, нужно записать в html и вывести потом. Или записать вывод в буфер и вывести с буфера.

Марат

  1. <?php
  2. class p_usermaps_photo extends cmsPlugin
  3. {
  4. public function __construct()
  5. {
  6.  
  7. parent::__construct();
  8.  
  9. $this->info['plugin'] = 'p_usermaps_photo';
  10. $this->info['title'] = 'Фото на карте';
  11. $this->info['description'] = 'Позволяет привязать фотографию к точке на карте';
  12. $this->info['author'] = 'NeoChapay';
  13. $this->info['version'] = '0.6';
  14. $this->events[] = 'GET_PHOTO';
  15. }
  16.  
  17. public function install()
  18. {
  19. return parent::install();
  20. }
  21.  
  22. public function upgrade()
  23. {
  24. return parent::upgrade();
  25. }
  26.  
  27. public function execute($event, $item)
  28. {
  29. parent::execute();
  30. switch ($event)
  31. {
  32. case 'GET_PHOTO':
  33. return $this->photomap($item);
  34. break;
  35. }
  36. //return $item;
  37. }
  38.  
  39. public function photomap($photo)
  40. {
  41. $inCore = cmsCore::getInstance();
  42. $inUser = cmsUser::getInstance();
  43. $type = "photo";
  44.  
  45. if($photo['user_id'] == $inUser->id)
  46. {
  47. $is_author = TRUE;
  48. }
  49.  
  50. $sql = mysql_query("SELECT * FROM cms_places_imagesonmap WHERE `photo_id` = '".$photo_id."' AND `photo_type` = '$type'");
  51.  
  52. if(mysql_num_rows($sql) == 1 or $is_author)
  53. {
  54. $point = mysql_fetch_assoc($sql);
  55. $smarty= $this->inCore->initSmarty('plugins', 'p_places_imagesonmap.tpl');
  56. $smarty->assign('is_author', $is_author);
  57. $smarty->assign('x', $point['x']);
  58. $smarty->assign('y', $point['y']);
  59. $smarty->display('p_places_imagesonmap.tpl');
  60. }
  61. $html = ob_get_clean();
  62.  
  63. return $html;
  64. }
  65. }
Вот что в итоге получилось, но… yamolodoi.ru/photos/photo71.html
#22 16 марта 2012 в 13:37
Сергей Игоревич, устал, может отдохнуть? smile
Пытаешься делать что-то не до конца представляя, что нужно? Поэтому не получается. Без обид. У самого частенько так бывает. Творческий упадок, усталость, все мысли о другом....
В плагин у тебя передается какой-то массив, с данными о фотографии. Сам же выводил print_r(), было видно, что там массив. То есть $item это массив. Затем этот массив передается в метод $this->photomap($item), обрабатывается как надо и возвращается обратно. А у тебя в $this->photomap($item) возвращается $html, а сам массив с фото потерялся.
Нужно возвращать $photo, а $html нужно записать в этот массив.
  1. $photo['html'] = $html;
  2. return $photo;
Теперь данные, которые ты хотел добавить, в массиве. И их нужно вывести в файле шаблона, где нужно.
Кстати, кусочек с запроса
  1. `photo_id` = '".$photo_id."'
Переменной $photo_id у нас ведь нет, есть массив $photo.
#23 16 марта 2012 в 13:44


Сергей Игоревич, устал, может отдохнуть? smile
Пытаешься делать что-то не до конца представляя, что нужно? Поэтому не получается. Без обид. У самого частенько так бывает. Творческий упадок, усталость, все мысли о другом....
В плагин у тебя передается какой-то массив, с данными о фотографии. Сам же выводил print_r(), было видно, что там массив. То есть $item это массив. Затем этот массив передается в метод $this->photomap($item), обрабатывается как надо и возвращается обратно. А у тебя в $this->photomap($item) возвращается $html, а сам массив с фото потерялся.
Нужно возвращать $photo, а $html нужно записать в этот массив.

  1. $photo['html'] = $html;
  2. return $photo;
Теперь данные, которые ты хотел добавить, в массиве. И их нужно вывести в файле шаблона, где нужно.
Кстати, кусочек с запроса
  1. `photo_id` = '".$photo_id."'
Переменной $photo_id у нас ведь нет, есть массив $photo.

Марат

Пятница чё уж сказать то :)))
И да… теперь получается без правки системы никак? Злобное пичалько я…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.