Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как использовать в разных модулях {$usr.avatar} при этом назначив разные стили и размеры?

#16 3 июня 2011 в 02:12
лучше код модуля сюда опубликуйте вашего с исправлениями я посмотрю в чём может быть проблема
#17 3 июня 2011 в 02:25


лучше код модуля сюда опубликуйте вашего с исправлениями я посмотрю в чём может быть проблема

• Mike •
я как посмотрел ипсравлений в модуле особых нету, я менял больше шаблон модуля.
мне кажется у мена что то с usercore.
я только добавил в модуле:
$pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"><img$1src=$2$3.$4$5 $6></a>';
$usr['avatar'] = preg_replace($pattern, $replacement, $usr['avatar']);
чтоб highslide использовать для увелечения аватаров уже уменьшенные с помощью css,usr_img.то есть без 'small' загружается большая фотка и потом уменьшаю в css, а потом при клике она увеличивается))Пробовал и на дефолтовском модуле ваш вариант, тоже у меня не работает .


<?php
/*********************************************************************************************/
// //
// InstantCMS v1.7 © 2010 FREEWARE //
// instantcms.ru/, info@instantcms.ru //
// //
// written by Vladimir E. Obukhov, 2007-2010 //
// //
/*********************************************************************************************/

function mod_lastreg2($module_id){
$inCore = cmsCore::getInstance();
$inDB = cmsDatabase::getInstance();
global $_LANG;

$cfg = $inCore->loadModuleConfig($module_id);

$sql = "SELECT u.*, p.imageurl
FROM cms_users u
LEFT JOIN cms_user_profiles p ON p.user_id = u.id
WHERE u.is_deleted = 0 AND u.is_locked=0 AND p.imageurl <> ''
ORDER BY RAND()
LIMIT ".$cfg['newscount']."
";

$result = $inDB->query($sql) ;

$is_last_reg = false;

if ($inDB->num_rows($result)){

$is_last_reg = true;
$usrs = array();

if ($cfg['view_type']=='table' || $cfg['view_type']=='hr_table'){
if (!function_exists('usrImageNOdb')){ //if not included earlier
include_once($_SERVER['DOCUMENT_ROOT'].'/components/users/includes/usercore.php');
}
while($usr = $inDB->fetch_assoc($result)){
$usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
$pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"><img$1src=$2$3.$4$5 $6></a>';
$usr['avatar'] = preg_replace($pattern, $replacement, $usr['avatar']);
$usrs[] = $usr;
}
}

if ($cfg['view_type']=='list'){
$total = $inDB->num_rows($result);
while($usr = $inDB->fetch_assoc($result)){
$usrs[] = $usr;
}
$total_all = dbRowsCount('cms_users', 'is_deleted=0 AND is_locked=0');
}
}

$smarty = $inCore->initSmarty('modules', 'mod_lastreg2.tpl');
$smarty->assign('usrs', $usrs);
$smarty->assign('cfg', $cfg);
if ($cfg['view_type']=='list'){
$smarty->assign('total', $total);
$smarty->assign('total_all', $total_all);
}
$smarty->assign('is_last_reg', $is_last_reg);
$smarty->display('mod_lastreg2.tpl');

return true;

}
?>
#18 3 июня 2011 в 03:48
вам нужно просто переписать функцию usrImageNOdb с учетом добавки highslide обертки и не нужно так мучится с паттернами и реплейсами и не работает, потому что всё что добавляется в usercore реплейсится без учёта исправлений
какая версия highslide у вас, у меня просто последняя синтаксис немного другой встраивания?
#19 3 июня 2011 в 03:57


вам нужно просто переписать функцию usrImageNOdb с учетом добавки highslide обертки и не нужно так мучится с паттернами и реплейсами и не работает, потому что всё что добавляется в usercore реплейсится без учёта исправлений
какая версия highslide у вас, у меня просто последняя синтаксис немного другой встраивания?

• Mike •
Вот такая версия,
Version: 4.0.5 (August 30 2008)
(highslide-with-html.packed)
Вы думаете это все из за highslide? Надо на чистую версию без highslide попробовать мне))
#20 3 июня 2011 в 04:01
это не из за хайслайда(если он сконфигурирован) а из за реплейсов с паттернами
#21 3 июня 2011 в 04:09


это не из за хайслайда(если он сконфигурирован) а из за реплейсов с паттернами

• Mike •

я не очень разбераюсь в этом)))Вы видели пример как я сделал тут?http://test.babayan.ca/users/alexbabo1972
вот не знаю как уменшить фото в модуле)))что делать? каков ваш совет?
#22 3 июня 2011 в 04:38
то есть в вашей версси такой вызов хайслайд корректен
<a href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"><img$1src=$2$3.$4$5 $6></a>'
постараюсь завтра написать функцию вставите просто в usercore без замены оригинальной под новым именем и в модуле будете вызывать её
#23 3 июня 2011 в 07:39
• Mike •, пользуясь случаем спрошу: как отцентровать аватарку по высоте в модуле "новые пользователи"? пробовал по-всякому, чета не выходит… просто бывет, что ава прмоугольная, тоненькая и висит вверху внутри границ…
#24 3 июня 2011 в 09:57


• Mike •, пользуясь случаем спрошу: как отцентровать аватарку по высоте в модуле "новые пользователи"? пробовал по-всякому, чета не выходит… просто бывет, что ава прмоугольная, тоненькая и висит вверху внутри границ...

PrazdNik

если она в <td> то <td valign="middle" прямо в разметке
если в диве, то вариантов несколько, в зависимости от свойств родительского дива, как вариант присвоить родителю в css {display:table-cell; float:none; vertical-align:middle;} я чаще таким пользуюсь, когда перевёрстываю таблицы в дивы с классами
#25 3 июня 2011 в 10:03
файл usercore добавляем новую функцию
  1.  
  2. function usrImageHS($user_id, $usr_imageurl, $width='100px', $height='250px'){
  3. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  4. return '<a href="/images/users/avatars/'.$usr_imageurl.'" onclick="return hs.expand(this);"><img border="0" width="'.$width.'" height="'.$height.'" src="/images/users/avatars/'.$usr_imageurl.'" /></a>';
  5. }
  6. }
  7.  
в файле вашего модуля заменяем блок
  1.  
  2. $usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
  3. $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
  4. $replacement = '<a href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"><img$1src=$2$3.$4$5 $6></a>';
  5. $usr['avatar'] = preg_replace($pattern, $replacement, $usr['avatar']);
  6.  
на простой вызов новой функции:
  1.  
  2. $usr['avatar'] = usrImageHS($usr['id'], $usr['imageurl'], $width='100px', $height='250px');
  3.  
#26 3 июня 2011 в 10:37


файл usercore добавляем новую функцию

  1.  
  2. function usrImageHS($user_id, $usr_imageurl, $width='100px', $height='250px'){
  3. if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
  4. return '';
  5. }
  6. }
  7.  
в файле вашего модуля заменяем блок
  1.  
  2. $usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']);
  3. $pattern = "//i";
  4. $replacement = '';
  5. $usr['avatar'] = preg_replace($pattern, $replacement, $usr['avatar']);
  6.  
на простой вызов новой функции:
  1.  
  2. $usr['avatar'] = usrImageHS($usr['id'], $usr['imageurl'], $width='100px', $height='250px');
  3.  

• Mike •

Всё прекрасно работает.Огромное спасибо за вашу помощь, вы хороший человек, я на форуме заметил вы очень активно отзываетесь на помощь и помогаете людям.Спасибоооо!
#27 3 июня 2011 в 10:39
Тема зактрыта, как же её закрыть? где кнопочка?
#28 3 июня 2011 в 10:41
да не за что, (кнопочка в самом низу)…
#29 3 июня 2011 в 10:45
Тема зактрыта
#30 3 июня 2011 в 10:46

как вариант присвоить родителю в css  {display:table-cell; float:none; vertical-align:middle;}

• Mike •
век живи — век учись… спасибо, помогло))
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.