Topic: Improved Admin layout Guide
This small modification (or more like a mini-theme) for 1.6 that changes the admin panel to better looking and slightly more useful version. It's not much more than a bit of theme tweaking and adding data.
For a screenshot, see: JobberBase Improved Admin Screenshot.
This mod should be fully compatible with the spotlight v2 mod, but only if this is installed *before* installing the spotlight update.
1. Open /admin/index.php
Find:
$smarty->assign('HTTP_REFERER', $_SERVER['HTTP_REFERER']);Add Under:
$smarty->assign('jobs_count_all', $job->CountJobs());
$smarty->assign('jobs_count_all_categs', $job->GetJobsCountForAllCategs());2. Open /admin/page_home.php
Find:
$smarty->assign('jobs', $the_jobs);Add Under:
$smarty->assign('latest_jobs', $job->GetJobs(0, 0, 5, 0, 0));3. Open /admin/screen.css (NOT the one in the root!)
Find and Remove:
.sidebar_page_edit {
padding-top: 430px;
}Also Add:
.admin-menu { width: 165px; }
#job-posts, .admin-menu { border: 1px solid #0897C6; }
#job-posts th, .admin-menu th { background-color: #0897C6; color: #FFF; font-weight: bold; }
#sidebar { padding-left: 20px; }
#sidebar h2 { margin-top: 0; margin-bottom: 7px; }
#stats { margin-left: 5px; }4. Open /admin/_templates/posts-loop.tpl
Find:
{if !$jobs}
<div id="no-ads">
{if $CURRENT_PAGE != 'search'}
No jobs, yet.<br />
{else}
No jobs were found.<br />
{/if}
</div><!-- #no-ads -->
{/if}Replace with:
<tr>
<th>{$translations.adminpanel.details}</th>
<th>{$translations.adminpanel.spotlight}</th>
<th>{$translations.adminpanel.edit}</th>
<th>{$translations.adminpanel.state}</th>
<th>{$translations.adminpanel.delete}</th>
</tr>
{if !$jobs}
{if $CURRENT_PAGE != 'search'}
<tr><td colspan="5">No jobs, yet.</td></tr>
{else}
<tr><td colspan="5">No jobs where found.</td></tr>
{/if}
{/if}
Find:
{foreach item=job from=$jobs name=tmp}
..lots of code...
{/foreach}Replace With:
{foreach item=job from=$jobs name=tmp}
<tr id="item{$job.id}">
<td>
{if $job.type_id == $smarty.const.JOBTYPE_FULLTIME}
<img src="{$BASE_URL}img/icon-fulltime.png" alt="full-time" />
{elseif $job.type_id == $smarty.const.JOBTYPE_PARTTIME}
<img src="{$BASE_URL}img/icon-parttime.png" alt="part-time" />
{elseif $job.type_id == $smarty.const.JOBTYPE_FREELANCE}
<img src="{$BASE_URL}img/icon-freelance.png" alt="freelance" />
{/if}
<a href="{$BASE_URL_ADMIN}job/{$job.id}/{$job.url_title}/" title="{$job.title}">{$job.title}</a> <em>({$job.location})</em><br />
<strong>{$translations.adminpanel.date}:</strong> {$job.created_on}
<strong>{$translations.adminpanel.company}:</strong> {$job.company}<br />
</td>
<td style="font-size: 11px;">
{if $job.is_spotlight == 0}
<a id="activateSpotlight{$job.id}" href="javascript:void(0);" onclick="Jobber.SpotlightActivate('{$BASE_URL_ADMIN}activate-spotlight/', {$job.id}, {if $CURRENT_PAGE == ''}1{else}0{/if});" title="activate-spotlight"><img src="{$BASE_URL}img/icon_spotlight_activate.gif" alt="activate" /></a>
{else}
<a id="deactivateSpotlight{$job.id}" href="javascript:void(0);" onclick="Jobber.SpotlightDeactivate('{$BASE_URL_ADMIN}deactivate-spotlight/', {$job.id});" title="deactivate-spotlight"><img src="{$BASE_URL}img/icon_spotlight_deactivate.gif" alt="deactivate" /></a>
{/if}
</td>
</td>
<td>
<a href="{$BASE_URL_ADMIN}edit-post/{$job.id}/" title="edit"><img src="{$BASE_URL}img/icon_edit.gif" alt="edit" /></a>
</td>
<td>
{if $job.is_active == 0}
<a id="activateLink{$job.id}" href="javascript:void(0);" onclick="Jobber.Activate('{$BASE_URL_ADMIN}activate/', {$job.id}, {if $CURRENT_PAGE == ''}1{else}0{/if});" title="activate"><img src="{$BASE_URL}img/icon_accept.gif" alt="activate" /></a>
{else}
<a id="deactivateLink{$job.id}" href="javascript:void(0);" onclick="Jobber.Deactivate('{$BASE_URL_ADMIN}deactivate/', {$job.id});" title="deactivate"><img src="{$BASE_URL}img/icon_deactivate.gif" alt="deactivate" /></a>
{/if}
</td>
<td>
<a href="javascript:void(0);" onclick="Jobber.Delete('{$BASE_URL_ADMIN}delete/', {$job.id});" title="delete"><img src="{$BASE_URL}img/icon-delete.png" alt="delete" /></a>
</td>
</tr>
{/foreach}Find:
{$pages}
{/if}Add Under:
{if $CURRENT_PAGE == '' || $CURRENT_PAGE == 'home'}
<h2>Latest Jobs</h2>
<table id="job-posts" class="job-posts" cellspacing="0">
<tr>
<th>{$translations.adminpanel.details}</th>
<th>{$translations.adminpanel.edit}</th>
<th>{$translations.adminpanel.state}</th>
<th>{$translations.adminpanel.delete}</th>
</tr>
{if !$latest_jobs}
<tr><td colspan="5">No jobs, yet.</td></tr>
{/if}
{foreach item=latest_jobs from=$latest_jobs name=tmp}
<tr id="item{$latest_jobs.id}">
<td>
{if $latest_jobs.type_id == $smarty.const.JOBTYPE_FULLTIME}
<img src="{$BASE_URL}img/icon-fulltime.png" alt="full-time" />
{elseif $latest_jobs.type_id == $smarty.const.JOBTYPE_PARTTIME}
<img src="{$BASE_URL}img/icon-parttime.png" alt="part-time" />
{elseif $latest_jobs.type_id == $smarty.const.JOBTYPE_FREELANCE}
<img src="{$BASE_URL}img/icon-freelance.png" alt="freelance" />
{/if}
<a href="{$BASE_URL_ADMIN}job/{$latest_jobs.id}/{$latest_jobs.url_title}/" title="{$latest_jobs.title}">{$latest_jobs.title}</a> <em>({$latest_jobs.location})</em><br />
<strong>{$translations.adminpanel.date}:</strong> {$latest_jobs.created_on}
<strong>{$translations.adminpanel.company}:</strong> {$latest_jobs.company}<br />
</td>
</td>
<td>
<a href="{$BASE_URL_ADMIN}edit-post/{$latest_jobs.id}/" title="edit"><img src="{$BASE_URL}img/icon_edit.gif" alt="edit" /></a>
</td>
<td>
{if $latest_jobs.is_active == 0}
<a id="activateLink{$latest_jobs.id}" href="javascript:void(0);" onclick="Jobber.Activate('{$BASE_URL_ADMIN}activate/', {$latest_jobs.id}, {if $CURRENT_PAGE == ''}1{else}0{/if});" title="activate"><img src="{$BASE_URL}img/icon_accept.gif" alt="activate" /></a>
{else}
<a id="deactivateLink{$latest_jobs.id}" href="javascript:void(0);" onclick="Jobber.Deactivate('{$BASE_URL_ADMIN}deactivate/', {$latest_jobs.id});" title="deactivate"><img src="{$BASE_URL}img/icon_deactivate.gif" alt="deactivate" /></a>
{/if}
</td>
<td>
<a href="javascript:void(0);" onclick="Jobber.Delete('{$BASE_URL_ADMIN}delete/', {$latest_jobs.id});" title="delete"><img src="{$BASE_URL}img/icon-delete.png" alt="delete" /></a>
</td>
</tr>
{/foreach}
</table>
<br />
{/if}5. Open /_includes/translations.ini
Add:
[adminpanel]
welcome = "Welcome Admin"
details = "Job details"
date = "Date"
company = "Company"
spotlight = "Spotlight"
edit = "Edit"
state = "Status"
delete = "Delete"
home = "Admin Home"
pages = "Custom Pages"
categories = "Categories"
statistics = "Statistics"
changepass = "Change Password"
logout = "Log Out"
total = "total jobs"6. Open /admin/_templates/page_edit.tpl
Find and Remove:
<div id="sidebar">..stuff..</div> (just before <div id="content">)7. Make a new file named /admin/_templates/sidebar.tpl
Add:
{if $isAuthenticated == 1}
<h2>{$translations.adminpanel.welcome}</h2>
<table class='admin-menu'>
<tr><th>Menu</th></tr>
<tr><td>
<ul>
<li>» <a href="{$BASE_URL_ADMIN}">{$translations.adminpanel.home}</a></li>
<li>» <a href="{$BASE_URL_ADMIN}pages">{$translations.adminpanel.pages}</a></li>
<li>» <a href="{$BASE_URL_ADMIN}categories">{$translations.adminpanel.categories}</a></li>
<li>» <a href="{$BASE_URL_ADMIN}stats">{$translations.adminpanel.statistics}</a></li>
<li>» <a href="{$BASE_URL_ADMIN}password">{$translations.adminpanel.changepass}</a></li>
<li>» <a href="{$BASE_URL_ADMIN}logout">{$translations.adminpanel.logout}</a></li>
</ul>
</td></tr>
</table>
<br />
<table class='admin-menu'>
<tr><th>Statistics</th></tr>
<tr><td>
<div id="stats">
<strong>{$jobs_count_all} {$translations.adminpanel.total}</strong>
<br />
{foreach item=job from=$jobs_count_all_categs}
<strong>{$job.categ_count}</strong> in <a href="{$BASE_URL_ADMIN}jobs/{$job.categ_varname}/">{$job.categ_name}</a><br />
{/foreach}
</div><!-- #stats -->
</td></tr>
</table>
<br /><br />
{if $CURRENT_PAGE == 'pages' && $current_page}
<div class="sidebar_page_edit">
<h3>Links</h3>
<p>Make a selection in the editor or select an existing link and click on one of the links bellow.</p>
<dl id="links_list">
<dt><strong>Internal</strong></dt>
<dd><a href="#" rel="{$BASE_URL}post/">Post a job</a></dd>
<dd><a href="#" rel="{$BASE_URL}ideal-vacature/">Ideal job</a></dd>
<dd><a href="#" rel="{$BASE_URL}rss/">RSS Feed</a></dd>
<dd><a href="#" rel="{$BASE_URL}companies/">Companies</a></dd>
<dt><strong>Categories</strong></dt>
{section name=tmp loop=$categories}
<dd><a href="#" rel="{$BASE_URL}jobs/{$categories[tmp].var_name}/">{$categories[tmp].name}</a></dd>
{/section}
<dt><strong>Pages</strong></dt>
{foreach from=$pages item=page}
<dd><a href="#" rel="{$BASE_URL}{$page.url}/">{$page.title}</a></dd>
{/foreach}
</dl>
</div>
{/if}
{/if}8. Open /admin/_templates/header.tpl
Add at the bottom:
<div id="sidebar">
{include file="sidebar.tpl"}
</div><!-- #sidebar -->9. Open /admin/page_edit_post.php
Find:
$smarty->assign_by_ref('job', $jobToEdit);Replace with:
$smarty->assign('job', $jobToEdit);Last edited by Chronos (2009-04-29 12:11:34)
Visit my Blog: ChronoScripts (JobberBase scripts, support and freelance)
JobBoards: Telefonisch Werk and Top Bijbaan