Шаблоны Simpla

Статус
В этой теме нельзя размещать новые ответы.
Я бы тоже сложился на шаблон - Multipurpose
 
У кого есть шаблон LUXURE готов обговорить условия покупки или обмена
 
Подскажите плиз шаблон - Multipurpose он адаптивный или в нем есть мобильная версия?
 
У кого есть шаблон Luxury?
 
ну вот он оч нужен, может есть у кого-то
 
Создаём новое меню (за основу было взято основное меню и другие страницы меню)

51be65b4b23f429f9978ea60bfd22e47.png

d59166d671e240fe877ad36c4f5ee93a.png


1. В конец файла /api/Pages.php перед последней } вставляем

Код:
/*

* Создать меню

*/

public function add_menu($menu)

{

$query = $this->db->placehold("INSERT INTO __menu SET ?%", $menu);

if(!$this->db->query($query))

return false;


$id = $this->db->insert_id();

$this->db->query("UPDATE __menu SET position=id WHERE id=?", $id);

return $id;

}


/*

* Обновить меню

*/

public function update_menu($id, $group)

{

$query = $this->db->placehold("UPDATE __menu SET ?% WHERE id=? LIMIT 1", $menu, intval($id));

$this->db->query($query);

return $id;

}


/*

* Удалить меню

*/

public function delete_menu($id)

{

if(!empty($id))

{

$query = $this->db->placehold("UPDATE __pages SET menu_id=NULL WHERE menu_id=? LIMIT 1", intval($id));

$this->db->query($query);


$query = $this->db->placehold("DELETE FROM __menu WHERE id=? LIMIT 1", intval($id));

if($this->db->query($query))

return true;

}

return false;

}

2. В папку /simpla/ добавляем (создаём) файл MenusAdmin.php следующего содержания

Код:
<?PHP


require_once('api/Simpla.php');


class MenusAdmin extends Simpla

{

function fetch()

{

if($this->request->method('post'))

{

// Действия с выбранными

$ids = $this->request->post('check');

if(is_array($ids))

switch($this->request->post('action'))

{

    case 'delete':

    {

    foreach($ids as $id)

$this->pages->delete_menu($id); 

        break;

    }

}

}


    $menus = $this->pages->get_menus();


  $this->design->assign('menus', $menus);

return $this->body = $this->design->fetch('menus.tpl');

}

}
[CODE]

3. В папку /simpla/ добавляем (создаём) файл MenuAdmin.php следующего содержания

[CODE]
<?PHP

require_once('api/Simpla.php');


class MenuAdmin extends Simpla

{

public function fetch()

{


if(isset($_POST))

{

$menu->id = $this->request->post('id', 'integer');

$menu->name = $this->request->post('name');

$menu->position = $this->request->post('position');


if(empty($menu->id))

{

  $menu->id = $this->pages->add_menu($menu);

  $this->design->assign('message_success', 'Добавлено');

  }

    else

    {

    $menu->id = $this->pages->update_menu($menu->id, $menu);

  $this->design->assign('message_success', 'Обновлено');

  }

    $menu = $this->pages->get_menu(intval($menu->id));

}

else

{

$id = $this->request->get('id', 'integer');

if(!empty($id))

$menu = $this->pages->get_menu(intval($id));

}


if(!empty($menu))

{

$this->design->assign('menu', $menu);

}


    return $this->design->fetch('menu.tpl');

}

}

4. В файле /simpla/design/html/pages.tpl перед {/capture} вставляем строку
Код:
<li><a href="{url module=MenusAdmin}">Меню</a></li>


5. В папке /simpla/design/html/ добавляем (создаём) файл menus.tpl следующего содержания
Код:
{* Вкладки *}

{capture name=tabs}

{foreach from=$menus item=m}

<li {if $m->id == $menu->id}class="active"{/if}><a href="{url module=PagesAdmin menu_id=$m->id}">{$m->name}</a></li>

{/foreach}

<li><a href="{url module=MenusAdmin}">Меню</a></li>

{/capture}


{* Title *}

{$meta_title='Список меню' scope=parent}


{* Заголовок *}

<div id="header">

<h1>Список меню</h1>

<a class="add" href="index.php?module=MenuAdmin">Добавить меню</a>

</div>



<!-- Основная часть -->

<div id="main_list">


<form id="list_form" method="post">

<input type="hidden" name="session_id" value="{$smarty.session.id}">

<div id="list" class="groups">


{foreach $menus as $menu}

<div class="row">

<div class="checkbox cell">

<input type="checkbox" name="check[]" value="{$menu->id}"/>

</div>

<div class="group_name cell">

<a href="index.php?module=MenuAdmin&id={$menu->id}">{$menu->name}</a>

</div>

<div class="group_discount cell">

{$menu->position}

</div>

<div class="icons cell">

<a class="delete" title="Удалить" href="#"></a>

</div>

<div class="clear"></div>

</div>

{/foreach}

</div>


<div id="action">

<label id="check_all" class="dash_link">Выбрать все</label>


<span id=select>

<select name="action">

<option value="delete">Удалить</option>

</select>

</span>


<input id="apply_action" class="button_green" type="submit" value="Применить">

</div>



</form>


</div>



{literal}

<script>

$(function() {


// Раскраска строк

function colorize()

{

$("#list div.row:even").addClass('even');

$("#list div.row:odd").removeClass('even');

}

// Раскрасить строки сразу

colorize();


// Выделить все

$("#check_all").click(function() {

$('#list input[type="checkbox"][name*="check"]').attr('checked', 1-$('#list input[type="checkbox"][name*="check"]').attr('checked'));

});


// Удалить

$("a.delete").click(function() {

$('#list input[type="checkbox"][name*="check"]').attr('checked', false);

$(this).closest(".row").find('input[type="checkbox"][name*="check"]').attr('checked', true);

$(this).closest("form").find('select[name="action"] option[value=delete]').attr('selected', true);

$(this).closest("form").submit();

});


// Подтверждение удаления

$("form").submit(function() {

if($('#list input[type="checkbox"][name*="check"]:checked').length>0)

if($('select[name="action"]').val()=='delete' && !confirm('Подтвердите удаление'))

return false;

});


});


</script>

{/literal}

6. В папке /simpla/design/html/ добавляем (создаём) файл menu.tpl следующего содержания

Код:
{capture name=tabs}

{foreach from=$menus item=m}

<li {if $m->id == $menu->id}class="active"{/if}><a href="{url module=PagesAdmin menu_id=$m->id}">{$m->name}</a></li>

{/foreach}

<li><a href="{url module=MenusAdmin}">Меню</a></li>

{/capture}


{if $menu->id}

{$meta_title = $menu->name scope=parent}

{else}

{$meta_title = 'Новое меню' scope=parent}

{/if}



{if $message_success}

<!-- Системное сообщение -->

<div class="message message_success">

<span>{$message_success}</span>

{if $smarty.get.return}

<a class="button" href="{$smarty.get.return}">Вернуться</a>

{/if}

</div>

<!-- Системное сообщение (The End)-->

{/if}


{if $message_error}

<!-- Системное сообщение -->

<div class="message message_error">

<span>{$message_error}</span>

<a class="button" href="">Вернуться</a>

</div>

<!-- Системное сообщение (The End)-->

{/if}



<!-- Основная форма -->

<form method=post id=product enctype="multipart/form-data">

<input type=hidden name="session_id" value="{$smarty.session.id}">

<div id="name">

<input class="name" name=name type="text" value="{$menu->name|escape}"/>

<input name=id type="hidden" value="{$menu->id|escape}"/>

</div>


<!-- Левая колонка -->

<div id="column_left">


<!-- Позиция меню -->

<div class="block">

<ul>

<li><label class=property>Позиция</label><input name="position" class="simpla_inp" type="text" value="{$menu->position|escape}" /></li>

</ul>

</div>

<!-- Позиция меню (The End)-->

</div>

<!-- Левая колонка (The End)-->


<input class="button_green button_save" type="submit" name="" value="Сохранить" />


</form>

<!-- Основная форма (The End) -->



7. Выводить можно его с помощью

Код:
{foreach $pages as $p}
{* Выводим только страницы из первого меню *}
   {if $p->menu_id == 3}
      <li {if $page && $page->id == $p->id}class="selected"{/if}>
         <a data-page="{$p->id}" href="{$p->url}">{$p->name|escape}</a>
      </li>
   {/if}
{/foreach}

Где 3 - это ID вашего меню

Вот вроде и все, теперь в админке на Страницах появилась вкладка "Меню"

Новый (усовершенствованный) редактор для страниц TinyMCE 4.5

30fd632f294d47379dc8b755339089b0.png


Установка очень простая!

1. Кидаем папку
tinymce по пути /simpla/design/js

2. Заменяем файл tinymce_init.tpl по пути /simpla/design/html

Наш новый редактор готов!
 

Вложения

  • TinyMCE 4.5.x.zip
    332,2 KB · Просмотры: 40
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху