Attached files

Attached files for Shop-Script

Product related files

4.5 11 ratings

$27.99 per year

7 days free trial is available for accounts in the Webasyst Cloud.

Your review
Installs
300+
Version
3.0.1
Updated
August 3, 2026
Additional licenses
50% discount
Minimal requirements
  • PHP version >=7.4.0
  • Version of Framework 3.0.0
  • Version of Shop-Script 10.0.0

The plugin lets you attach any number of files with descriptions to every product — manuals, drivers, firmware, certificates, drawings. The file list appears on the product page, so customers download what they need without contacting your support.

 Drag & drop upload

Drop files onto the product page or pick them in the usual file dialog. A progress bar shows the upload status.

 One file, many products

A manual shared across a product line is uploaded once and attached to every product that needs it by searching its filename.

 Your own file order

Reorder files by dragging them — customers see the list exactly in the order you set.

 Template in your design theme

The storefront markup of the file list lives in a regular template file inside your theme folder, so your edits survive plugin updates.

Managing files in the backend

The plugin adds an “Attached files” section to the product page. It works in both the new and the legacy product editor.

  • Upload any number of files by drag & drop or through the file dialog
  • Progress bar, with the file added to the list right after the upload
  • A custom description for every file
  • Manual reordering by dragging files
  • An “Attach existing file” button that searches already uploaded files by name

A file attached to several products is stored on disk only once, yet its description and position in the list are kept separately for each product.

Displaying the file list on the storefront

The file list is rendered on the product page at the position your design theme reserves for the frontend_product.block or frontend_product.block_aux hook. Which one to use is chosen in the plugin settings.

To change the markup of the file list, put a plugin.syrattach.attachments.html file into the folder of your active design theme. The plugin picks it up automatically, and a plugin update never touches it. If the theme has no such file, the built-in template is used.

Inside the template the $attachments variable holds the data of the attached files:

$attachments = array(
    array(
        'id'          => $id,      /* attachment ID */
        'file_id'     => $file_id, /* file ID */
        'name'        => $name,    /* file name */
        'ext'         => $ext,     /* file extension */
        'description' => $desc,    /* file description */
        'size'        => $size,    /* file size in bytes */
        'url'         => $url      /* file URL */
    ),
);

Built-in view helper

If you need the file list somewhere other than the hook position, call the plugin's view helper anywhere in the product template. It returns either ready-made HTML or an array of file data you can lay out entirely yourself.

{* ready-made HTML from the plugin or design theme template *}
{$wa->shop->syrattachPlugin->render($product.id)}

{* file array for your own markup *}
{$files = $wa->shop->syrattachPlugin->getList($product.id)}

Such a call is safe: if the plugin is disabled or removed, the template will not break. The legacy helper call syntax is supported as well.

Attaching files during CSV import

When importing products from CSV, files can be attached right away instead of opening product pages one by one.

  • Create a wa-data/public/site/syrattach folder on the server — for example, in the file manager of the Site app
  • Upload the files you want to attach to products into that folder
  • Add one or more “Attached File” columns to your CSV file
  • In a product row, put the name of a file from wa-data/public/site/syrattach into that column

The file must be located strictly in that folder: URLs and nested folders are not supported. The import never deletes anything — on a repeated import, and whenever a file name is already taken, the existing file is not overwritten and the new one is added under a modified name. Once the import is over, the contents of wa-data/public/site/syrattach can be deleted.

Maximum upload size

The limit comes from the server your store runs on, not from the plugin. If a file fails to upload, check the upload_max_filesize, post_max_size and memory_limit values in php.ini. The plugin shows the effective limit right in the upload area.

Requirements

  • Shop-Script 10.0 or higher
  • Webasyst 3.0 or higher
  • PHP 7.4 or higher

The plugin interface is localized into English, Russian, Ukrainian, Belarusian, Kazakh, German, Dutch and French.

Syrnik

All products of this developer ›