Ну как тут не снять шляпу? Благодарен безмерно!
Все работает именно так, как мне было нужно.
Неловко "садиться на шею", но у меня есть еще одна проблема с mini kb, но уже в связке с другим модом. Пишу здесь, потому что причину нестыковки вижу именно в нем.
Суть такова: я использую мод ресайза изображений
'Reimg Image Resizer' Version 0.0.B9 Полезен он мне тем, что работает не только с вложениями, но и с теговыми изображениями. Относительно вложений интересен больше лайтбоксом. В mini kb у меня чаще всего вложенные изображения.
И если вернуться к сути проблемы, то на всем форуме мод работает отлично, а вот с mini kb работать отказывается.
Ни ошибок в дебаге, ничего. Просто не уменьшает, и не отображаются атрибуты увеличения (значок лупы) в углу изображений.
Пытался исправить ситуацию, но не хватило профессионализма, а разработка и оттачивание автором mini kb, похоже, приостановилась.
Так как mini kb использует многие механизмы форума, то и с вложенными изображениями в сгенеренной mini kb странице все нормально, у вложений появляются атрибуты "reimg" и тд:
Код: Выделить всё
<tr>
<td class="row3"><b class="genmed">Вложения: </b></td>
</tr>
<tr>
<td class="row2"> <img src="../download/file.php?id=1959" alt="bag.jpg" class="reimg" onload="reimg(this);" onerror="reimg(this);" /><br />
<span class="gensmall">bag.jpg [ 108.45 Кб | Просмотров: 117 ]</span>
<br />
</td>
</tr>
Но результата, тем не менее, нет.
Осмелюсь предположить, что из-за какой-то разницы в алгоритме показа изображений форума и mini kb код, отвечающий за работу скриптов reimg.js и litebox.js в overall_header.html не срабатывает при показе страниц mini kb.
Вот этот код:
Код: Выделить всё
<script type="text/javascript">
// <![CDATA[
/**
* Resize too large images
*/
<!-- IF S_REIMG -->
var reimg_maxWidth = {REIMG_MAX_WIDTH}, reimg_maxHeight = {REIMG_MAX_HEIGHT}, reimg_relWidth = {REIMG_REL_WIDTH};
<!-- IF S_REIMG_SWAP_PORTRAIT -->
var reimg_swapPortrait = true;
<!-- ENDIF -->
<!-- IF S_REIMG_ZOOM -->
var reimg_zoomImg = "<!-- IF REIMG_ZOOM_IN_IMG_SRC -->{REIMG_ZOOM_IN_IMG_SRC}<!-- ELSE -->{T_IMAGES_PATH}spacer.gif<!-- ENDIF -->";
var reimg_zoomStyle = "<!-- IF REIMG_ZOOM_IN_IMG_SRC --><!-- IF REIMG_ZOOM_IN_IMG_WIDTH -->width: {REIMG_ZOOM_IN_IMG_WIDTH}px; <!-- ENDIF --><!-- IF REIMG_ZOOM_IN_IMG_HEIGHT -->height: {REIMG_ZOOM_IN_IMG_HEIGHT}px; <!-- ENDIF --><!-- ELSE -->width: 18px; height: 15px; background: green; <!-- ENDIF -->filter: Alpha(Opacity=45); opacity: .45;";
var reimg_zoomHover = "filter: Alpha(Opacity=90); opacity: .90;";
var reimg_zoomAlt = "{L_REIMG_ZOOM_IN}";
var reimg_zoomTarget = "{S_REIMG_ZOOM}";
<!-- ENDIF -->
<!-- ENDIF -->
function reimg(img, width, height) { window.reimg_version ? reimg_resize(img, width, height) : null; }
// ]]>
</script>
<!-- IF S_REIMG -->
<script type="text/javascript" src="./styles/reimg.js"></script>
<!-- IF S_REIMG_ZOOM and (S_DISPLAY_REVIEW or S_DISPLAY_HISTORY) -->
<style type="text/css" media="screen, projection"><!--
.tablebg .tablebg .postbody .reimg-zoom { display: none; }
--></style>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF S_REIMG_LITEBOX -->
<script type="text/javascript">
// <![CDATA[
/**
* Light box for resized images
*/
var litebox_alt = "{L_IMAGE}";
<!-- IF S_REIMG_LITEBOX eq '_litebox' -->
var litebox_zoomImg = reimg_zoomImg;
var litebox_zoomStyle = reimg_zoomStyle;
var litebox_zoomHover = reimg_zoomHover;
var litebox_zoomAlt = reimg_zoomAlt;
<!-- ELSEIF S_REIMG_LITEBOX eq '_litebox1' -->
var reimg_zoomLevel = 100;
<!-- ENDIF -->
var litebox_closeImg = "<!-- IF REIMG_ZOOM_OUT_IMG_SRC -->{REIMG_ZOOM_OUT_IMG_SRC}<!-- ELSE -->{T_IMAGES_PATH}spacer.gif<!-- ENDIF -->";
var litebox_closeStyle = "<!-- IF REIMG_ZOOM_OUT_IMG_SRC --><!-- IF REIMG_ZOOM_OUT_IMG_WIDTH -->width: {REIMG_ZOOM_OUT_IMG_WIDTH}px; <!-- ENDIF --><!-- IF REIMG_ZOOM_OUT_IMG_HEIGHT -->height: {REIMG_ZOOM_OUT_IMG_HEIGHT}px; <!-- ENDIF --><!-- ELSE -->width: 18px; height: 15px; background: red; <!-- ENDIF -->filter: Alpha(Opacity=45); opacity: .45;";
var litebox_closeHover = reimg_zoomHover;
var litebox_closeAlt = "{L_REIMG_ZOOM_OUT}";
var litebox_rtl = <!-- IF S_CONTENT_DIRECTION eq 'rtl' -->true<!-- ELSE -->false<!-- ENDIF -->;
// ]]>
</script>
<script type="text/javascript" src="./styles/litebox.js"></script>
<!-- ENDIF -->
Мод Ресайзера затрагивает форумные functions.php и functions_content.php, а у mini kb свой файл functions_kb.php, пытался думать в этом направлении, но расписываюсь в несостоятельности попыток.
Понимаю, что где-то в mini kb файлах нужно прописать соответствующие строки, что б изображения уменьшались и отображались в лайтбоксе, как на всем форуме, но не удается вычислить разницу из-за которой на всем форуме картинки могут уменьшаться с помощью ресайзера, а в mini kb нет.
При этом стандартный механизм уменьшения вложенных изображений с помощью создания иконок в mini kb, естественно, работает.
Прошу помощи в этом вопросе.
Приношу извинения, если в данной теме такой коллаж из двух модов будет выглядеть, как оффтоп, но повторюсь, мне думается, что это некое слабое место, если можно так сказать, именно mini kb.
ЗЫ: Форум одностилевой: subsilver2