Help Center

Find answers or browse our knowledge base.

Init Files

Each *.init.php file goes inside your addon folder: /modules/{addonid}/. The ScriptsTribe plugin system automatically includes them into the correct Sngine core file.


1. init.php — Global bootstrap

  • Location: /modules/{addonid}/init.php
  • Loaded in: bootloader.php
  • When: Every request, site-wide
  • Use for: global variables, Smarty assigns, helper includes

// modules/addonid/init.php
if (!defined('ABSPATH')) die;
global $smarty, $system;

$smarty->assign('addonid_theme_color', $system['addonid_theme_color'] ?? '#2196F3');

 

2. user.init.php — Logged-in users

  • Location: /modules/{addonid}/user.init.php
  • Loaded in: index.php (after user login check)
  • When: Only for logged-in users
  • Use for: custom menus, quicklinks, user-only blocks

 

3. profile.init.php — Profile pages

  • Location: /modules/{addonid}/profile.init.php
  • Loaded in: profile.php
  • When: Viewing user profiles
  • Use for: profile tabs, extra profile data, custom blocks

 

4. page.init.php / pages.init.php — Pages

  • Location: /modules/{addonid}/page.init.php and /modules/{addonid}/pages.init.php
  • Loaded in: page.php (single Page), pages.php (Pages list)
  • When: Viewing a single page or the pages directory
  • Use for: page tabs, widgets, settings integration

 

5. event.init.php / events.init.php — Events

  • Location: /modules/{addonid}/event.init.php and /modules/{addonid}/events.init.php
  • Loaded in: event.php (single Event), events.php (Event list)
  • When: Viewing an event or events listing
  • Use for: RSVP features, event widgets, event tabs

 

6. group.init.php / groups.init.php — Groups

  • Location: /modules/{addonid}/group.init.php and /modules/{addonid}/groups.init.php
  • Loaded in: group.php (single Group), groups.php (Groups list)
  • When: Viewing group pages
  • Use for: group tabs, moderation tools, group-specific widgets

 

7. blog.init.php / blogs.init.php — Blogs

  • Location: /modules/{addonid}/blog.init.php and /modules/{addonid}/blogs.init.php
  • Loaded in: blog.php (single Blog), blogs.php (Blogs list)
  • When: Reading or listing blog posts
  • Use for: related posts, schema markup, SEO, comment widgets

 

8. market.init.php — Marketplace

  • Location: /modules/{addonid}/market.init.php
  • Loaded in: market.php
  • When: Marketplace/product pages
  • Use for: affiliate links, badges, product widgets

 

9. forums.init.php — Forums

  • Location: /modules/{addonid}/forums.init.php
  • Loaded in: forums.php
  • When: Forum categories or threads
  • Use for: forum blocks, quick actions, topic widgets

 

10. jobs.init.php — Jobs

  • Location: /modules/{addonid}/jobs.init.php
  • Loaded in: jobs.php
  • When: Job listings or detail pages
  • Use for: application widgets, resume tools, job data

 

Summary

Every init file is placed under /modules/{addonid}/ and mapped into the following core files:

  • init.php → bootloader.php (global)
  • user.init.php → index.php (logged-in only)
  • profile.init.php → profile.php
  • page.init.php → page.php
  • pages.init.php → pages.php
  • event.init.php → event.php
  • events.init.php → events.php
  • group.init.php → group.php
  • groups.init.php → groups.php
  • blog.init.php → blog.php
  • blogs.init.php → blogs.php
  • market.init.php → market.php
  • forums.init.php → forums.php
  • jobs.init.php → jobs.php
Was this answer helpful?
You must login to vote.
0 found this helpful, 0 did not
Thank you for your feedback!

Related Articles