Set up and maintain

Customize 101

Where the look and behaviour of the site are controlled

Customize via Plugins

To ensure your customizations are preserved during updates, it’s recommended to create a custom private plugin instead of directly editing RamTV’s core files. Updates to RamTV might overwrite modified core files, resulting in lost changes.

How to Create a Plugin?

While full documentation for plugin development is not yet available, this guide covers the basic steps to create a plugin and add custom CSS/JS files to the front-end—a highly requested feature

Follow these 5 steps

You can alternatively download this zip file and extract it to be able to skip 1-4:

https://my.busyowl.co/files/custom_plugin.zip

1. Create a New Plugin Folder

  1. Navigate to the ~ramtv/plugins directory.
  2. Create a new folder named custom_plugin (or any unique name for your plugin).

2. Create the bof.php File

  1. Inside the custom_plugin folder, create a PHP file named bof.php.
  2. Add the following code to define basic information about your plugin
<?php
$Config = [
    'version' => '1.0.0', // Required: Plugin version
    // Add additional details if needed
];
?>

3. Create the _handshake.php File

  1. In the same folder, create another PHP file named _handshake.php.
  2. Use this file to connect your plugin’s functionalities with RamTV. Add the following example code:
<?php

bof()->listen("theme", "get_after", function ($method_args, &$config) {

    if (empty($config["assets"])) $config["assets"] = [];
    if (empty($config["assets"]["js"])) $config["assets"]["js"] = [];
    if (empty($config["assets"]["css"])) $config["assets"]["css"] = [];

    $version = bof()->plug->read("plugin", "custom_plugin")["version"];;

    $config["assets"]["js"][] = array(
        "name" => "custom",
        "path" => "custom.js" . "?bof_version=" . (!production ? "dont_cache" : $version),
        "base" => web_address . "plugins/custom_plugin/assets/",
        "dir" => false,
        "version" => $version,
        "skipNameCheck" => true
    );

    $config["assets"]["css"][] = array(
        "name" => "custom",
        "path" => "custom.css?bof_version=" . (!production ? "dont_cache" : $version),
        "base" => web_address . "plugins/custom_plugin/assets/",
        "dir" => false,
        "version" => $version
    );

});

?>

4. Add Your Custom CSS/JS Files

  1. Inside the custom_plugin folder, create a subdirectory named assets.
  2. Create a file named custom.css for custom styles.
  3. Create a file named custom.js for custom JavaScript.
  4. Add your desired CSS and JS code to these files

5. Activate your plugin

  1. Make sure custom_plugin folder exists inside ~ramtv/plugins folder
  2. Open phpMyAdmin. Select RamTV's database and then _bof_setting table
  3. Search for `var=plugins.` Edit `val` and append ,custom_plugin to the list