Хак универсального каталога (онлайн игры swf)

Опубликовано:
Блог: InstantLife
Просмотров: 2119
Настроение: позитивное
Играет: эминем
+2
Голосов: 4

Данный хак позволяет использовать каталог как онлайн игры в формате swf

Нужно изменить следующие файлы

\components\catalog\frontend.php

\admin\components\catalog\backend.php

\templates\_default_\components\com_catalog_view.tpl

\templates\_default_\components\com_catalog_add.tpl

Игры хранятся на сервере : /images/catalog/games/

1. в файле components\catalog\frontend.php

находим строчку

$item['file'] = '';

ниже добавляем

$item['fileswf'] = '';

находим строчку

if (isset($_FILES["imgfile"]["name"]) && @$_FILES["imgfile"]["name"]!=''){

//generate image file

$tmp_name = $_FILES["imgfile"]["tmp_name"];

$file = $_FILES["imgfile"]["name"];

$path_parts = pathinfo($file);

$ext = $path_parts['extension'];

$file = md5($file.time()).'.'.$ext;

$item['file'] = $file;

ниже добавляем:

if (isset($_FILES["imgfileswf"]["name"]) && @$_FILES["imgfileswf"]["name"]!=''){

$ext = 'swf';

$fileswf = $file.'.'.$ext;

$item['fileswf'] = $fileswf;

if (@move_uploaded_file($_FILES["imgfileswf"]["tmp_name"], $_SERVER['DOCUMENT_ROOT']."/images/catalog/games/$fileswf")){

@chmod($_SERVER['DOCUMENT_ROOT']."/images/catalog/games/$fileswf", 0644);

}

}

находим строчку

$inDB->query("UPDATE cms_uc_items SET hits = hits + 1 WHERE id = ".$id) ;

//print item details

$fields = array();

ниже добавляем

if ($cat['view_type'] == 'flash'){

echo

'<embed height="375" width="500" flashvars="Width=500&Height=375&game=6956&wmode="opaque" allowfullscreen="true" quality="high" bgcolor="#E8E7EA" name="games_swf" id="games_swf" style="undefined" src="/images/catalog/games/',$item['imageurl'],'.swf" type="application/x-shockwave-flash">'; }

2. в файле admin\components\catalog\backend.php

Находим строчку

<option value="shop" <?php if (@$mod['view_type']=='shop') {echo 'selected';} ?>>Магазин</option>

ниже добавляем

<option value="flash" <?php if (@$mod['view_type']=='flash') {echo 'selected';} ?>>Онлайн-игра</option>

3. в файле \templates\_default_\components\com_catalog_view.tpl Находим строчку

{if $cat.view_type=='list' || $cat.view_type=='shop'}

Заменяем на

{if $cat.view_type=='list' || $cat.view_type=='shop'|| $cat.view_type=='flash'}

Находим строчку:

{if $cat.view_type=='list'}

{if $cat.showmore}

<a href="/catalog/{$menuid}/item{$item.id}.html">Подробнее...</a>

{/if}

Ниже добавляем:

{else}

{if $cat.view_type=='flash'}

{if $cat.showmore}

<a href="/catalog/item{$item.id}.html">{$LANG.DETAILS}...</a>

{/if}

4. в файле \templates\_default_\components\com_catalog_add.tpl Находим строчку

{if $cat.view_type=='shop'}

выше добавляем

{if $cat.view_type=='flash'}

<tr>

<td width="">

<strong>Загрузить игру</strong>

</td>

<td><input type="file" name="imgfileswf" style="width:250px" /></td>

</tr>

{/if}

Не забываем создать рубрику "Онлайн-игры" в универсальном каталоге через админку,

Тип Публикацию ставим : Онлайн-игры

Скрин что в итоге получилось:

Сильно не пинать если что это мой первый блог)))

Комментарии (10)
Soul #
: 0

Демку бы неплохо глянуть...

Gorec #
: 0
Я попробую сделать.
Soul #
: 0
Было бы замечательно.
Gorec #
: 0
Fatal error: Smarty error: [in com_catalog_view.tpl line 143]: syntax error: mismatched tag {/foreach}. expected {/if} (opened line 50). (Smarty_Compiler.class.php, line 2298) in Z:\home\instant.ru\www\includes\smarty\libs\Smarty.class.php on line 1092  scratch
Михаил М. #
: 0
смарти ругается у тебя что несоответствие тега {/foreach} когда им ожидается {/if} который начинается {if} в строке 50 файла  com_catalog_view.tpl смотри теги внимательней  zst
Gorec #
: 0
IPSB у тебя самого это получилось?
Gorec #
: 0
{if $cat.view_type=='list'}
{if $cat.showmore}
<a href="/catalog/{$menuid}/item{$item.id}.html">Подробнее...</a>
{/if} вот того кода у меня нет, только без выделенного
Михаил М. #
: 0
смотрю родной com_catalog_view.tpl нахожу конструкцию цикла {foreach key=tid item=item from=$items}..............{/foreach}, у себя проверь все условия {if}.....{/if} в них тапор войны со смарти и php зарыт. У меня тоже этого нет.
Код PHP:
  1.  
  2. Находим строчку:
  3.  
  4. {if $cat.view_type=='list'}
  5. {if $cat.showmore}
  6. <a href="/catalog/{$menuid}/item{$item.id}.html">Подробнее...</a>
  7. {/if}
  8.  
  9. Ниже добавляем:
  10.  
  11. {else}
  12. {if $cat.view_type=='flash'}
  13. {if $cat.showmore}
  14. <a href="/catalog/item{$item.id}.html">{$LANG.DETAILS}...</a>
  15. {/if}
  16.  
Вот тут очевидно косяк так в 1.8 Условия другие Чем автор предлагает переделать.
seyfer #
: 0
Так что, не работает?
Letsgo #
: 0
Хз..вопрос игр достаточно спорный на сайте, нужны игры или нет. Как бы если делать портал региона, то игры с каталога как то не то. Я пока поставил алавар партнерку, но как то неэффективно она тоже. Вариант либо онлайн игру поставить, либо ничего не ставить.

Голосуем

Самый нужный компонент