Skip to content

Page & Block Management

You can manage all the pages of your store piece by piece (block based) from the Design & Content > Block Management section. Each page consists of a row → column → block hierarchy. You can edit your pages with drag-and-drop without writing code; You can develop block templates directly with the Smarty TPL/SCSS/JS editor.


Page Structure

Sayfa
└── Satır (Row)  ← full-width ya da container
    └── Sütun (Column)  ← 12'li Tailwind grid
        └── Blok (Block)  ← içerik parçası (slider, ürün listesi, banner…)

As many lines as you want can be added to a page. Each row can be independently set to full-width (full) or centered container (container).


Grid System

EticaretShop uses a 12-column grid system based on Tailwind CSS. The width of each column is specified out of 12:

ValueWidth
12/12100% — covers the full line
6/1250% — two columns side by side
4/1233.3% — three columns next to each other
3/1225% — four columns next to each other

Screen Size Breakpoints

BreakdownDecemberDescription
xlAbove 1366pxLarge desktop
lg801–1366pxDesktop / Laptop
md640–800pxTablet
sm400–639pxBig phone
defaultbelow 400pxSmall phone

These ranges can be customized from the setting.scss file.

Automatic Inheritance (not-set)

If the value not-set is selected for a breakdown in advanced mode, the value of a subbreak is inherited.

Example: default:12 / sm:not-set / md:6 → default:12 / sm:12 / md:6 / lg:6 / xl:6


Page Management

When you enter the Block Management page, you can quickly find and select the page you want to edit (Ex: Homepage, 404 Page, etc.) from the drop-down menu at the top. When you click on the Setting (gear) icon right next to the selection area, the actions you can perform regarding the active page are listed:

Page Management Procedures

Page actions in the drop-down menu are:

  • Add New Page: Create a brand new page from scratch with page name, SEO fields and default settings.
  • Clone Existing Page: Quickly create a new variation of the page you are working on by copying its entire block arrangement and row/column structure.
  • Delete Current Page: Completely remove pages you no longer need from the system (Care should be taken with default system pages).
  • Translate Language: Easily manage translations of in-page texts and block variables into different languages.
  • Scss & Font: Quickly switch to style files and typography settings that affect the design of the page.
  • Convert to Scss: Compile the style (SCSS) changes and instantly convert them into CSS codes that the site can read.
  • Blocks Using Custom Template: Easily identify blocks that have a unique template (TPL) assignment on the page, different from the default structure, by listing them.

Adding and Adjusting Rows

When you click the Add Row button, the following settings can be made in the panel that opens:

SettingDescription
ContainerOn: the row is centered at max width. Off: covers the entire screen (full-width)
Flex CenterCenters content vertically
Number of ColumnsColumn selection 1–12
CSS ClassAdd custom Tailwind or custom class to row
StyleApply inline CSS to the line

You set column widths in Simple or Advanced mode in the row editor.

Simple Mode

Choose the column width for each view by switching the Mobile and PC preview with the Mobile / PC button. You can adjust the width by clicking and dragging the column edges in the PC preview.

Advanced Mode

Set the width of each column individually for all breakpoints (default, sm, md, lg, xl):

Sütun 1: default=12 / sm=12 / md=6 / lg=4 / xl=4
Sütun 2: default=12 / sm=12 / md=6 / lg=4 / xl=4
Sütun 3: default=12 / sm=12 / md=not-set / lg=4 / xl=4

Blocks within rows and columns can be reordered by drag-drop.


Adding Block

To add a block to a column, click the + Add Block button. You can search by block name in the panel that opens, find the appropriate block from the list and add it to the column with the **++ icon.

Copying a Block from Another Page

With the Copy Block feature, you can copy a block configured on another page, along with its content and settings, to your current page:

  1. Select the source page
  2. Select the block you want to copy
  3. Click the Copy Block button

Block Settings (Management)

Clicking on a block opens the block management page with 3 tabs:


Tab 1: Settings

block ID and general settings appear in the left panel, and custom settings defined in that block's setting.json file appear in the right panel.

Left Panel — General Information

AreaDescription
Title (Web)Block title to be displayed on store front (multilingual support)
Sub-Title / ExplanationsDescription field (rich text) shown in certain block types
ThemeThe theme folder that the block will use. You can edit the theme list with "Manage Theme Folders"
Template (TPL)TPL file to use for the block
Sub-TemplatesDifferent templates can be assigned for subcomponents within the block

Authorization

Controls which types of users the block is visible to:

OptionDescription
Let the Visitor SeeVisible for non-logged in users
Member ViewVisible for logged in members
Dealer SeeVisible for users with reseller authority

Device Visibility

Controls which devices the block will appear on:

OptionDescription
DesktopShow on widescreen
TabletShow on center screens
MobileShow on small screens

Right Panel — Block Custom Settings

Each block can have settings defined in its own setting.json file. These settings appear as various form components:

Setting Type (xtype)Form Component
inputSingle line text box
textareaMultiline text box
colorColor picker
checkboxCheckbox
selectDropdown list (static options)
select-remoteDropdown list (dynamic options from API)
multiselectMultiple selection list
inputnumberNumber entry
datepickerDate picker
editorTinyMCE rich text editor
uploadFile upload
imageImage upload
videoVideo URL/upload
urlURL selector
objectObject space
gridTable/list structure (shown at top)
metaMeta information area

Settings File (setting.json) Download/Upload

You can export/import the settings file with the Manage Settings button:

  • Download Settings: Downloads the settings structure (optionally with their current values) as JSON
  • Load setting.json: Loads the new settings file. Options:
  • Set setting values ​​as well: Also applies the values ​​in the loaded file
  • Delete unused settings: Clears obsolete settings from the database

Tab 2: Editor

It is the code editor tab where you directly edit block source files. Three types of files are managed for each block:

FileDescription
TPLPHP Smarty template file (.tpl) — HTML structure and Tailwind classes
SCSSAdditional custom styles for the block (if Tailwind fails)
JSBlock specific JavaScript code

Actions in the editor toolbar:

ButtonFunction
Select FileTo replace the template file, select file from directory tree
Add ImageAdd image into TPL with image upload
Add FileAdd static file
Save AsSave existing content with a new filename
CompareCompare between two different files or versions with diff view
ChangesList past versions of the file and restore to previous version
PublishJust go live this blog
Publish AllGo live with all changes
DeleteDelete selected template file
Upload AI JSONAutomatically create TPL and meta records by loading AI-generated JSON output

TPL Format

Template files are processed with the PHP Smarty engine. Variables such as {$block.title}, {$block.settings.key} can be used within the block. Language variables are called with the syntax {lang}DEGISKEN_NAME{/lang}.

Dynamic Rendering with Tailwind

All templates are coded with Tailwind CSS. Since each block is rendered independently with Tailwind classes, a style change to one block does not affect other blocks.

Comparison (Diff) Screen

It shows the differences between two files or versions in color with the diff2html library. Separate comparison can be made for TPL, SCSS or JS. Comparisons can be made by listing past versions for each file.


Tab 3: Language Variables

Each block keeps the language variables it can use in its template in its own language/ folder (eg: tr.conf, en.conf). These variables are edited in this tab.

Adding / Editing Variables

Each language variable contains a key and a value for each language. The value field supports rich text (HTML).

Anahtar: KAMPANYA_BASLIK
Türkçe: Yaz İndirimi
İngilizce: Summer Sale

Bulk Translation

Translation of all variables can be done automatically with Google Translate by selecting Source Language and Target Language.

Export/Import

Language variables can be exported to Excel or Text format and the edited file can be restored. It is possible to choose which languages ​​to include when exporting.


Libraries Automatically Loaded by the System

The following libraries are automatically loaded on each page — no additional import required:

LibraryIntended Use
jQueryDOM manipulation, AJAX
Vue.js 3Reactive components, interactive UI
Swiper.jsSlider/carousel
Font AwesomeIcon set
SwiperJS CSSSwiper styles

Template File Structure

For each block template, the server has the following folder/file structure:

themes/
└── [tema-adi]/
    └── [blok-adi]/
        ├── [blok-adi].tpl        ← Ana Smarty şablonu
        ├── [blok-adi].scss       ← Bloka özel stiller
        ├── [blok-adi].js         ← Bloka özel JS
        ├── setting/
        │   └── setting.json      ← Ayar tanımları
        └── language/
            ├── tr.conf           ← Türkçe dil değişkenleri
            └── en.conf           ← İngilizce dil değişkenleri

Sub-Templates

If a block offers more than one view variant, subtemplates can be defined in subfolder/. From the Settings tab, you select which sub-template to use for each sub-component. In this way, you can manage different versions of the same blog on a theme-based basis.


Theme Management

Blocks are grouped under theme folders. From the "Manage Theme Folders" screen:

  • Can add new theme folder
  • Can see how many blogs are using that theme
  • You can list blocks in use

Theme Export/Import

You can use Theme Export to move or back up the page structure you prepared to another store:

  1. Select pages to export
  2. Select blocks to export for each page
  3. Download as JSON file

Load the JSON file to import — the page and block structure is automatically generated.