There is no license information available for the latest version (0.0.2) of this package.

This is a themes package for Foundation

0.0.2 2022-12-23 03:08 UTC

This package is auto-updated.

Last update: 2024-11-23 07:15:26 UTC


README

This is a theme package for foundation


## Adding Themes

When installed, this package will look inside of the `resources/views/themes` folder for any folder containing a `.json` file with the same name as the folder. Example: `resources/views/themes/cool-beans/cool-beans.json` 

> If you wish to change the theme folder location, you can do so in the config

As an example if you have a folder called **cool-beans** and inside that folder you have another file called **cool-beans.json** with the following contents:

{ "name": "Cool Beans", "version": "1.0" }


This new theme will now be detected and available to use in your application. You can also include a sample screenshot of your theme, which would be **cool-beans.jpg** *(800x500px) for best results*

You can checkout a sample-theme repo here: [https://github.com/thedevdojo/sample-theme](https://github.com/thedevdojo/sample-theme)

The theme inside of the `themes` table with `active` set to 1 will the the active theme. You can then specify the theme view like the following:

return view('theme::welcome')


This will then look in the current active theme folder for a new view called `welcome.blade.php` :D

## Theme Configs

You may choose to publish a config to your project by running:

php artisan vendor:publish


You will want to publish the `voyager-themes-config`, and you will now see a new config located at `config/themes.php`, which will look like the following:

resource_path('views/themes'), 'publish_assets' => true ]; ``` Now, you can choose an alternate location for your themes folder. By default this will be put into the `resources/views` folder; however, you can change that to any location you would like. Additionally, you can set **publish_assets** to *true* or *false*, if it is set to *true* anytime the themes directory is scanned it will publish the `assets` folder in your theme to the public folder inside a new `themes` folder. Set this to *false* and this will no longer happen. ## Theme Options You can also easily add a number of options by including another file in the theme folder called `options.blade.php` ![Voyager Theme Options Page](https://i.imgur.com/eAoNt0W.png) Inside the `options.blade.php` file you can now add a new field as simple as: ``` {!! theme_field('text', 'title') !!} ``` This will now add a new **text field** and store it with a **key** of *title*. So, now if you wanted to reference this value anywhere in your theme files you can simple echo it out like so: ``` {{ theme('title') }} ``` Couldn't be easier, right! Take a look at all the following explanation of the `theme_field` function. ### The theme_field() function The `theme_field()` function can be used to display fields in our theme options page. Take a look at the function DEFINITION, EXAMPLE, EXPLANATION, and TYPES OF FIELDS below: **DEFINITION:** theme_field( $type, $key, $title = '', $content = '', $details = '', $placeholder = '', $required = 1) **EXAMPLE** of a textbox asking for headline: {!! theme_field( 'text', 'headline', 'My Aweseome Headline', '{}', 'Add your Headline here', 0) !!} Only the first 2 are arguments are required {!! theme_field('text', 'headline') !!} **EXPLANATION:** $type This is the type of field you want to display, you can take a look at all the fields from the TYPES OF FIELDS section below. $key This is the key you want to create to reference the field in your theme. $title This is the title or the label above the field $content The current contents or value of the field, if the field has already been created in the db, the value in the database will be used instead $details The details of the field in JSON. You can find more info about the details from the following URL: https://voyager.readme.io/docs/additional-field-options $placeholder The placeholder value of the field $required Whether or not this field is required **TYPES OF FIELDS** checkbox, color, date, file, image, multiple_images, number, password, radio_btn, rich_text_box, code_editor, markdown_editor, select_dropdown, select_multiple, text, text_area, timestamp, hidden, coordinates ---