Merge remote-tracking branch 'github/1.1' into 1.1

This commit is contained in:
merdan 2021-08-19 15:53:39 +05:00
commit 87c396b5e7
64 changed files with 1638 additions and 341 deletions

View File

@ -16,7 +16,7 @@ return [
|
*/
'debug' => true,
'debug' => env('APP_DEBUG', true),
/*
|--------------------------------------------------------------------------
@ -41,7 +41,7 @@ return [
|
*/
'url' => 'http://localhost',
'url' => env('APP_URL', 'http://localhost'),
/*
|--------------------------------------------------------------------------
@ -137,7 +137,7 @@ return [
|
*/
'key' => 'S6g15W4dDKtMwoxFbvFRPEtFlEMDT661',
'key' => env('APP_KEY', ''),
'cipher' => 'AES-256-CBC',

View File

@ -13,7 +13,7 @@ return [
|
*/
'default' => 'file',
'default' => env('CACHE_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------

View File

@ -156,7 +156,7 @@ return [
|
*/
'enableRoutesCache' => false,
'enableRoutesCache' => env('ROUTES_CACHE', false),
/*
|--------------------------------------------------------------------------
@ -196,7 +196,7 @@ return [
|
*/
'enableAssetCache' => false,
'enableAssetCache' => env('ASSET_CACHE', false),
/*
|--------------------------------------------------------------------------
@ -250,7 +250,7 @@ return [
|
*/
'databaseTemplates' => false,
'databaseTemplates' => env('DATABASE_TEMPLATES', false),
/*
|--------------------------------------------------------------------------
@ -360,7 +360,7 @@ return [
|
*/
'linkPolicy' => 'detect',
'linkPolicy' => env('LINK_POLICY', 'detect'),
/*
|--------------------------------------------------------------------------
@ -396,7 +396,7 @@ return [
|
*/
'enableCsrfProtection' => true,
'enableCsrfProtection' => env('ENABLE_CSRF', true),
/*
|--------------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ return [
|
*/
'default' => 'mysql',
'default' => env('DB_CONNECTION', 'mysql'),
/*
|--------------------------------------------------------------------------
@ -48,18 +48,18 @@ return [
'sqlite' => [
'driver' => 'sqlite',
'database' => 'storage/database.sqlite',
'database' => env('DB_DATABASE', 'storage/database.sqlite'),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'engine' => 'InnoDB',
'host' => '192.168.1.2',
'port' => 3306,
'database' => 'birzha',
'username' => 'orient',
'password' => 'orient',
'host' => env('DB_HOST', '192.168.1.2'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'birzha'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
@ -68,11 +68,11 @@ return [
'pgsql' => [
'driver' => 'pgsql',
'host' => 'localhost',
'port' => 5432,
'database' => 'database',
'username' => 'root',
'password' => '',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 5432),
'database' => env('DB_DATABASE', 'database'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
@ -80,11 +80,11 @@ return [
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => 'localhost',
'port' => 1433,
'database' => 'database',
'username' => 'root',
'password' => '',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 5432),
'database' => env('DB_DATABASE', 'database'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'prefix' => '',
],
@ -120,9 +120,9 @@ return [
'cluster' => false,
'default' => [
'host' => '127.0.0.1',
'password' => null,
'port' => 6379,
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
@ -143,6 +143,6 @@ return [
|
*/
'useConfigForTesting' => false,
'useConfigForTesting' => env('DB_USE_CONFIG_FOR_TESTING', false),
];

View File

@ -16,7 +16,7 @@ return [
|
*/
'driver' => 'smtp',
'driver' => env('MAIL_DRIVER', 'smtp'),
/*
|--------------------------------------------------------------------------
@ -29,7 +29,7 @@ return [
|
*/
'host' => 'smtp.mailgun.org',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
/*
|--------------------------------------------------------------------------
@ -42,7 +42,7 @@ return [
|
*/
'port' => 587,
'port' => env('MAIL_PORT', 587),
/*
|--------------------------------------------------------------------------
@ -71,7 +71,7 @@ return [
|
*/
'encryption' => 'tls',
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
/*
|--------------------------------------------------------------------------
@ -84,7 +84,7 @@ return [
|
*/
'username' => null,
'username' => env('MAIL_USERNAME', null),
/*
|--------------------------------------------------------------------------
@ -97,7 +97,7 @@ return [
|
*/
'password' => null,
'password' => env('MAIL_PASSWORD', null),
/*
|--------------------------------------------------------------------------

View File

@ -16,7 +16,7 @@ return [
|
*/
'default' => 'sync',
'default' => env('QUEUE_CONNECTION', 'sync'),
/*
|--------------------------------------------------------------------------

View File

@ -16,7 +16,7 @@ return [
|
*/
'driver' => 'file',
'driver' => env('SESSION_DRIVER', 'file'),
/*
|--------------------------------------------------------------------------

View File

@ -116,6 +116,9 @@ return [
'uploaded' => 'The :attribute failed to upload.',
'url' => 'The :attribute format is invalid.',
'uuid' => 'The :attribute must be a valid UUID.',
'atleast_1_image' => 'You have to upload at least 1 image.',
'image_type' => 'You must upload :image_type!',
'image_size' => 'Max file size :size Mb!',
/*
|--------------------------------------------------------------------------
@ -145,6 +148,26 @@ return [
|
*/
'attributes' => [],
'attributes' => [
'name_en' => 'Lot title EN',
'name_ru' => 'Lot title RU',
'name_tm' => 'Lot title TM',
'mark' => 'Product mark',
'manufacturer' => 'Vendor',
'category_id' => 'Category',
'country_id' => "Vendor's country",
'measure_id' => 'Measure',
'quantity' => 'Quantity',
'currency_id' => 'Currency',
'price' => 'Price',
'delivery_term_id' => 'Delivery term',
'place' => 'Destination',
'packaging' => 'Packaging',
'payment_term_id' => 'Payment term',
'description_ru' => 'Description RU',
'description_en' => 'Description EN',
'description_tm' => 'Description TM',
'bank_file' => 'File from bank',
],
];

View File

@ -116,6 +116,9 @@ return [
'uploaded' => ':attribute не удалось загрузить.',
"url" => "Поле :attribute имеет ошибочный формат.",
'uuid' => 'Поле :attribute должно быть действительным UUID.',
'atleast_1_image' => 'Загрузите хотя бы 1 фото.',
'image_type' => 'Тип изображания должен быть :image_type!',
'image_size' => 'Изображение не больше :size Mб!',
/*
|--------------------------------------------------------------------------
@ -145,6 +148,26 @@ return [
|
*/
'attributes' => [],
'attributes' => [
'name_en' => 'Наименование лота EN',
'name_ru' => 'Наименование лота RU',
'name_tm' => 'Наименование лота TM',
'mark' => 'Марка товара',
'manufacturer' => 'Производитель',
'category_id' => 'Категория',
'country_id' => 'Страна производителя',
'measure_id' => 'Единицы измерения',
'quantity' => 'Количество товара',
'currency_id' => 'Валюта',
'price' => 'Цена за единицу',
'delivery_term_id' => 'Условия поставки',
'place' => 'Пункт',
'packaging' => 'Упаковка',
'payment_term_id' => 'Условия оплаты',
'description_ru' => 'Описание RU',
'description_en' => 'Описание EN',
'description_tm' => 'Описание TM',
'bank_file' => 'Файл из банка',
],
];

View File

@ -0,0 +1,102 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Client-side Language Lines
|--------------------------------------------------------------------------
|
| These are messages made available to the client browser via JavaScript.
| To compile this file run: php artisan october:util compile lang
|
*/
'markdowneditor' => [
'formatting' => 'Formatlama',
'quote' => 'Alıntı',
'code' => 'Kod',
'header1' => 'Başlık 1',
'header2' => 'Başlık 2',
'header3' => 'Başlık 3',
'header4' => 'Başlık 4',
'header5' => 'Başlık 5',
'header6' => 'Başlık 6',
'bold' => 'Kalın',
'italic' => 'İtalik',
'unorderedlist' => 'Sırasız Liste',
'orderedlist' => 'Sıralı Liste',
'video' => 'Video',
'image' => 'Görsel/Resim',
'link' => 'Link',
'horizontalrule' => 'Yatay Çizgi Ekle',
'fullscreen' => 'Tam Ekran',
'preview' => 'Önizleme',
],
'mediamanager' => [
'insert_link' => "Medya Linki Ekle",
'insert_image' => "Medya Resim Ekle",
'insert_video' => "Medya Video Ekle",
'insert_audio' => "Medya Ses Ekle",
'invalid_file_empty_insert' => "Lütfen link verilecek dosyayı seçin.",
'invalid_file_single_insert' => "Lütfen tek bir dosya seçin.",
'invalid_image_empty_insert' => "Lütfen eklenecek resim(ler)i seçin.",
'invalid_video_empty_insert' => "Lütfen eklenecek video dosyasını seçin.",
'invalid_audio_empty_insert' => "Lütfen eklenecek ses dosyasını seçin.",
],
'alert' => [
'confirm_button_text' => 'Evet',
'cancel_button_text' => 'İptal',
'widget_remove_confirm' => 'Bu eklentiyi kaldırma istediğinize emin misiniz?',
],
'datepicker' => [
'previousMonth' => 'Önceki Ay',
'nextMonth' => 'Sonraki Ay',
'months' => ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
'weekdays' => ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
'weekdaysShort' => ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'],
],
'colorpicker' => [
'choose' => 'Seç',
],
'filter' => [
'group' => [
'all' => 'tümü',
],
'scopes' => [
'apply_button_text' => 'Uygula',
'clear_button_text' => 'Temizle',
],
'dates' => [
'all' => 'tümü',
'filter_button_text' => 'Filtrele',
'reset_button_text' => 'Sıfırla',
'date_placeholder' => 'Tarih',
'after_placeholder' => 'Sonra',
'before_placeholder' => 'Önce',
],
'numbers' => [
'all' => 'all',
'filter_button_text' => 'Filtrele',
'reset_button_text' => 'Sıfırla',
'min_placeholder' => 'Min',
'max_placeholder' => 'Max',
],
],
'eventlog' => [
'show_stacktrace' => 'Veri yığınını göster',
'hide_stacktrace' => 'Veri yığınını gizle',
'tabs' => [
'formatted' => 'Formatlı',
'raw' => 'Ham Veri',
],
'editor' => [
'title' => 'Kaynak kod editörü',
'description' => 'İşletim sisteminiz URL şemalarına yanıt verecek şekilde yapılandırılmalıdır.',
'openWith' => 'Birlikte aç',
'remember_choice' => 'Bu oturum için seçenekleri hatırla',
'open' => 'Aç',
'cancel' => 'İptal',
],
],
];

View File

@ -0,0 +1,458 @@
<?php
return [
'app' => [
'name' => 'OctoberCMS',
'tagline' => 'Sadeliğe dönüş...',
],
'locale' => [
'ar' => 'العربية',
'be' => 'Беларуская',
'bg' => 'Български',
'ca' => 'Català',
'cs' => 'Čeština',
'da' => 'Dansk',
'en' => 'English (United States)',
'en-au' => 'English (Australia)',
'en-ca' => 'English (Canada)',
'en-gb' => 'English (United Kingdom)',
'et' => 'Eesti',
'de' => 'Deutsch',
'el' => 'Ελληνικά',
'es' => 'Español',
'es-ar' => 'Español (Argentina)',
'fa' => 'فارسی',
'fr' => 'Français',
'fr-ca' => 'Français (Canada)',
'hu' => 'Magyar',
'id' => 'Bahasa Indonesia',
'it' => 'Italiano',
'ja' => '日本語',
'kr' => '한국어',
'lt' => 'Lietuvių',
'lv' => 'Latviešu',
'nb-no' => 'Norsk (Bokmål)',
'nl' => 'Nederlands',
'pl' => 'Polski',
'pt-br' => 'Português (Brasil)',
'pt-pt' => 'Português (Portugal)',
'ro' => 'Română',
'rs' => 'Srpski',
'ru' => 'Русский',
'fi' => 'Suomi',
'sv' => 'Svenska',
'sk' => 'Slovenský',
'sl' => 'Slovenščina',
'tr' => 'Türkçe',
'uk' => 'Українська мова',
'zh-cn' => '简体中文',
'zh-tw' => '繁體中文',
'vn' => 'Tiếng việt',
],
'directory' => [
'create_fail' => "Klasör oluşturulamıyor: :name",
],
'file' => [
'create_fail' => "Dosya oluşturulamıyor: :name",
],
'page' => [
'invalid_token' => [
'label' => 'Geçersiz güvenlik anahtarı',
],
],
'combiner' => [
'not_found' => "Kombine dosyası: ':name' bulunamadı.",
],
'system' => [
'name' => 'Sistem',
'menu_label' => 'Sistem',
'categories' => [
'cms' => 'CMS',
'misc' => 'Çeşitli',
'logs' => 'Kayıtlar',
'mail' => 'E-Mail',
'shop' => 'Mağaza',
'team' => 'Takım',
'users' => 'Kullanıcılar',
'system' => 'Sistem',
'social' => 'Sosyal',
'backend' => 'Backend',
'events' => 'Olaylar',
'customers' => 'Müşteriler',
'my_settings' => 'Ayarlarım',
'notifications' => 'Bildirimler',
],
],
'theme' => [
'label' => 'Tema',
'unnamed' => 'İsimsiz tema',
'name' => [
'label' => 'Tema Adı',
'help' => 'Temaya benzersiz bir isim verin. Örn: RainLab.Vanilla',
],
],
'themes' => [
'install' => 'Temaları yükle',
'search' => 'tema ara...',
'installed' => 'Yüklü temalar',
'no_themes' => 'Mağazadan yüklenmiş bir tema bulunmamaktadır.',
'recommended' => 'Tavsiye edilen',
'remove_confirm' => 'Bu temayı silmek istediğinize emin misiniz?',
],
'plugin' => [
'label' => 'Eklenti',
'unnamed' => 'İsimsiz eklenti',
'name' => [
'label' => 'Eklenti Adı',
'help' => 'Eklenti adı eşsiz olmalıdır. Örneğin, RainLab.Blog',
],
'by_author' => ':name ile filtrele'
],
'plugins' => [
'manage' => 'Eklentileri yönet',
'install' => 'Eklentileri yükle',
'install_products' => 'Ürünleri yükle',
'search' => 'eklenti ara...',
'installed' => 'Yüklü eklentiler',
'no_plugins' => 'Mağazadan yüklenmiş bir eklenti bulunmamaktadır.',
'recommended' => 'Tavsiye edilen',
'plugin_label' => 'Eklenti',
'unknown_plugin' => 'Eklenti sistemden kaldırıldı.',
'select_label' => 'Eylem Seçin...',
'bulk_actions_label' => 'Toplu eylemler',
'check_yes' => 'Evet',
'check_no' => 'Hayır',
'unfrozen' => 'Güncellemeler Aktif',
'enabled' => 'Eklenti Aktif',
'freeze' => 'için güncellemeleri devre dışı bırak',
'unfreeze' => 'için güncellemeleri aktifleştir',
'enable' => 'aktifleştir',
'disable' => 'pasifleştir',
'refresh' => 'yenile',
'remove' => 'Kaldır',
'freeze_label' => 'Güncellemeleri Pasifleştir',
'unfreeze_label' => 'Güncellemeleri Aktifleştir',
'enable_label' => 'Eklentileri Aktifleştir',
'disable_label' => 'Eklentileri Pasifleştir',
'refresh_label' => 'Eklenti Verilerini Sıfırla',
'action_confirm' => 'Seçili eklentileri :action etmek istediğinize emin misiniz?',
'freeze_success' => 'Seçilen eklentiler için güncellemeler pasifleştirildi.',
'unfreeze_success' => 'Seçilen eklentiler için güncellemeler aktifleştirildi.',
'enable_success' => 'Seçilen eklentiler etkinleştirildi.',
'disable_success' => 'Seçilen eklentiler pasifleştirildi.',
'refresh_confirm' => 'Seçili eklentileri sıfırlamak istediğinize emin misiniz? Bu işlem, her eklentinin verilerini sıfırlayarak ilk yükleme durumuna geri getirir.',
'refresh_success' => 'Eklentiler başarıyla yenilendi.',
'remove_confirm' => 'Seçili eklentileri kaldırmak istediğinize emin misiniz? Bu işlem, ilişkili tüm verileri de kaldıracaktır.',
'remove_success' => 'Eklentiler sistemden başarıyla kaldırıldı.',
],
'project' => [
'name' => 'Proje',
'owner_label' => 'Proje Sahibi',
'attach' => 'Projeyi Eşle',
'detach' => 'Projeyi Ayır',
'none' => 'Hiçbiri',
'id' => [
'label' => 'Proje ID',
'help' => 'Proje ID\'sini nasıl bulurum?',
'missing' => 'Lütfen kullanılacak Proje ID\'sini belirleyin.',
],
'detach_confirm' => 'Bu projeyi ayırmak istediğinizden emin misiniz?',
'unbind_success' => 'Proje ayırma işlemi tamamlandı.',
],
'settings' => [
'menu_label' => 'Ayarlar',
'not_found' => 'Belirtilen ayarlar bulunamadı.',
'missing_model' => 'Ayarlar sayfasında Model tanımı eksik.',
'update_success' => ':name için ayarlar güncellendi.',
'return' => 'Sistem ayarları sayfasına dön',
'search' => 'Ara',
],
'mail' => [
'log_file' => 'Günlük kayıt dosyası',
'menu_label' => 'Mail ayarları',
'menu_description' => 'Email ayarlarını düzenle.',
'general' => 'Genel',
'method' => 'Mail Metodu',
'sender_name' => 'Gönderici Adı',
'sender_email' => 'Gönderici Email',
'php_mail' => 'PHP mail',
'smtp' => 'SMTP',
'smtp_address' => 'SMTP Adresi',
'smtp_authorization' => 'SMTP yetkilendirmesi kullan',
'smtp_authorization_comment' => 'SMTP sunucusu yetkilendirme gerektiriyorsa bu onay kutusunu işaretleyin.',
'smtp_username' => 'Kullanıcı Adı',
'smtp_password' => 'Şifre',
'smtp_port' => 'SMTP Port',
'smtp_ssl' => 'SSL bağlantısı kullan',
'smtp_encryption' => 'SMTP şifreleme protokolü',
'smtp_encryption_none' => 'Şifreleme yok',
'smtp_encryption_tls' => 'TLS',
'smtp_encryption_ssl' => 'SSL',
'sendmail' => 'Sendmail',
'sendmail_path' => 'Sendmail Yolu',
'sendmail_path_comment' => 'Sendmail programının yolunu belirtin.',
'mailgun' => 'Mailgun',
'mailgun_domain' => 'Mailgun Domain',
'mailgun_domain_comment' => 'Mailgun domain belirtin.',
'mailgun_secret' => 'Mailgun Gizli Anahtarı',
'mailgun_secret_comment' => 'Mailgun API anahtarını girin.',
'mandrill' => 'Mandrill',
'mandrill_secret' => 'Mandrill Gizli Anahtarı',
'mandrill_secret_comment' => 'Mandrill API anahtarını girin.',
'ses' => 'SES',
'ses_key' => 'SES key',
'ses_key_comment' => 'SES API keyi girin',
'ses_secret' => 'SES secret',
'ses_secret_comment' => 'SES API secret keyi girin',
'ses_region' => 'SES bölgesi',
'ses_region_comment' => 'SES bölgenizi girin (örnek: us-east-1)',
'drivers_hint_header' => 'Sürücüler yüklenmemiş',
'drivers_hint_content' => 'Bu eposta yöntemiyle eposta gönderebilmeniz için ":plugin" eklentisinin kurulmuş olması gerekir.',
],
'mail_templates' => [
'menu_label' => 'Mail şablonları',
'menu_description' => 'Kullanıcılar ve yöneticiler için gönderilen e-posta şablonları düzenleyin.',
'new_template' => 'Yeni Şablon',
'new_layout' => 'Yeni Layout',
'new_partial' => 'Yeni Partial',
'template' => 'Şablon',
'templates' => 'Şablonlar',
'partial' => 'Partial',
'partials' => 'Partialler',
'menu_layouts_label' => 'Mail Layoutları',
'menu_partials_label' => 'Mail Partialleri',
'layout' => 'Layout',
'layouts' => 'Layoutlar',
'no_layout' => '-- Şablon Yok --',
'name' => 'İsim',
'name_comment' => 'Bu şablona referans için benzersiz bir isim verin',
'code' => 'Kod',
'code_comment' => 'Bu şablona referans için benzersiz bir kod verin',
'subject' => 'Konu',
'subject_comment' => 'Email mesaj konusu',
'description' => 'Tanım',
'content_html' => 'HTML',
'content_css' => 'CSS',
'content_text' => 'Düzyazı',
'test_send' => 'Test mesajı gönder',
'test_success' => 'Test mesajı başarılı şekilde gönderildi.',
'test_confirm' => 'Deneme mesajı :email eposta adresine gönderilecek. Devam etmek istiyor musunuz?',
'creating' => 'Şablon Oluşturuluyor...',
'creating_layout' => 'Layout Oluşturuluyor...',
'saving' => 'Şablon kaydediliyor...',
'saving_layout' => 'Layout kaydediliyor...',
'delete_confirm' => 'Bu şablonu silmek istediğinize emin misiniz?',
'delete_layout_confirm' => 'Bu layout\'u silmek istediğinize emin misiniz?',
'deleting' => 'Şablon Siliniyor...',
'deleting_layout' => 'Layout Siliniyor...',
'sending' => 'Deneme mesajı gönderiliyor...',
'return' => 'Şablon listesine geri dön',
'options' => 'Seçenekler',
'disable_auto_inline_css' => 'Otomatik satır içi CSS\'yi devre dışı bırak',
],
'mail_brand' => [
'menu_label' => 'Mail yapılandırma',
'menu_description' => 'Posta şablonlarının renklerini ve görünümünü değiştirin.',
'page_title' => 'Posta görünümünü özelleştir',
'sample_template' => [
'heading' => 'Başlık',
'paragraph' => 'Bu Lorem Ipsum ile doldurulmuş bir paragraf ve bir linktir. Cumque dicta <a>doloremque eaque</a>, enim error laboriosam pariatur possimus tenetur veritatis voluptas.',
'table' => [
'item' => 'Nesne',
'description' => 'Açıklama',
'price' => 'Fiyat',
'centered' => 'Ortalanmış',
'right_aligned' => 'Sağa Hizalı',
],
'buttons' => [
'primary' => 'Ana buton',
'positive' => 'Positif buton',
'negative' => 'Negatif buton',
],
'panel' => 'Bu panel ne kadar harika..',
'more' => 'Biraz daha metin',
'promotion' => 'Kupon Kodu: OCTOBER',
'subcopy' => 'Bu e-postanın alt yazısıdır',
'thanks' => 'Teşekkürler',
],
'fields' => [
'_section_background' => 'Arkaplan',
'body_bg' => 'Body arkaplanı',
'content_bg' => 'İçerik arkaplanı',
'content_inner_bg' => 'İç içerik arkaplanı',
'_section_buttons' => 'Butonlar',
'button_text_color' => 'Buton metni rengi',
'button_primary_bg' => 'Ana düğme arkaplanı',
'button_positive_bg' => 'Positif düğme arkaplanı',
'button_negative_bg' => 'Negatif düğme arkaplanı',
'_section_type' => 'Tipografi',
'header_color' => 'Başlık rengi',
'heading_color' => 'Başlıkların rengi',
'text_color' => 'Metin rengi',
'link_color' => 'Link rengi',
'footer_color' => 'Footer rengi',
'_section_borders' => 'Borderlar',
'body_border_color' => 'Body border rengi',
'subcopy_border_color' => 'Altyazı border rengi',
'table_border_color' => 'Tablo border rengi',
'_section_components' => 'Eklentiler',
'panel_bg' => 'Panel arkaplanı',
'promotion_bg' => 'Promosyon arkaplanı',
'promotion_border_color' => 'Promosyon border rengi',
],
],
'install' => [
'project_label' => 'Projeye bağla',
'plugin_label' => 'Eklenti Yükle',
'theme_label' => 'Temayı yükle',
'missing_plugin_name' => 'Yüklemek istediğiniz eklentinin adını giriniz.',
'missing_theme_name' => 'Lütfen yüklemek için bir tema ismi giriniz.',
'install_completing' => 'Kurulumu tamamla',
'install_success' => 'Eklenti kurulumu tamamlandı.',
],
'updates' => [
'title' => 'Güncellemeleri Yönet',
'name' => 'Sistemi Güncelle',
'menu_label' => 'Güncellemeler',
'menu_description' => 'Sistemi güncelleyin, temaları ve eklentileri yönetin.',
'return_link' => 'Sistem güncellemelerine geri dön',
'check_label' => 'Güncellemeleri kontrol et',
'retry_label' => 'Tekrar dene',
'plugin_name' => 'Adı',
'plugin_code' => 'Kod',
'plugin_description' => 'Açıklama',
'plugin_version' => 'Versiyon',
'plugin_author' => 'Yazar',
'plugin_not_found' => 'Plugin not found',
'core_current_build' => 'Mevcut versiyon',
'core_build' => 'Versiyon :build',
'core_build_help' => 'Son versiyon kullanılabilir.',
'core_downloading' => 'Uygulama dosyaları indiriliyor',
'core_extracting' => 'Uygulama dosyaları çıkarılıyor',
'core_set_build' => 'Build numarası güncelleniyor',
'plugins' => 'Modüller',
'themes' => 'Temalar',
'disabled' => 'Devre dışı',
'plugin_downloading' => 'Modül indiriliyor: :name',
'plugin_extracting' => 'Modül dosyaları çıkarılıyor: :name',
'plugin_version_none' => 'Yeni eklenti',
'plugin_current_version' => 'Mevcut sürüm',
'theme_new_install' => 'Yeni tema kur.',
'theme_downloading' => 'Tema indiriliyor: :name',
'theme_extracting' => 'Tema paketten çıkarılıyor: :name',
'update_label' => 'Sistemi güncelle',
'update_completing' => 'Güncelleme işlemi tamamlanıyor',
'update_loading' => 'Kullanılabilir güncellemeler kontrol ediliyor...',
'update_success' => 'Güncelleme işlemi başarıyla tamamlandı.',
'update_failed_label' => 'Güncelleme hatası',
'force_label' => 'Güncellemeye zorla',
'found' => [
'label' => 'Güncellemeler bulundu!',
'help' => 'Sistemi güncelleye tıklayarak güncelleme işlemini başlatabilirsiniz.',
],
'none' => [
'label' => 'Güncelleme yok',
'help' => 'Yeni güncelleme bulunamadı.',
],
'important_action' => [
'empty' => 'Eylem seçin',
'confirm' => 'Güncellemeyi onayla',
'skip' => 'Eklentiyi geç (tek seferlik)',
'ignore' => 'Eklentiyi geç (her zaman)',
],
'important_action_required' => 'Eylem gerekli',
'important_view_guide' => 'Yükseltme kılavuzuna göz atın',
'important_view_release_notes' => 'Sürüm notlarını göster',
'important_alert_text' => 'Bazı eklentiler işlem gerektirebilir.',
'details_title' => 'Eklenti detayları',
'details_view_homepage' => 'Anasayfa',
'details_readme' => 'Kılavuz',
'details_readme_missing' => 'Herhangi bir kılavuz bulunamadı.',
'details_changelog' => 'Değişiklikler',
'details_changelog_missing' => 'Değişiklik geçmişi yok.',
'details_upgrades' => 'Yükseltme Kılavuzu',
'details_upgrades_missing' => 'Yükseltme talimatı bulunamadı.',
'details_licence' => 'Lisans',
'details_licence_missing' => 'Lisans bilgisi yok.',
'details_current_version' => 'Mevcut sürüm',
'details_author' => 'Geliştirici',
],
'server' => [
'connect_error' => 'Sunucuyla bağlantı kurulamadı.',
'response_not_found' => 'Güncelleme sunucusu bulunamadı.',
'response_invalid' => 'Sunucudan hatalı cevap geldi.',
'response_empty' => 'Sunucudan boş cevap geldi.',
'file_error' => 'Paket teslim edilirken sunucuda hata meydana geldi.',
'file_corrupt' => 'Sunucudaki dosya bozulmuş.',
],
'behavior' => [
'missing_property' => ':class sınıfı :behavior davranışı tarafından kullanılan $:property özelliğini tanımlamalı.',
],
'config' => [
'not_found' => ':location için tanımlanan :file adlı ayar dosyası bulunamadı.',
'required' => ':location konumunda kullanılan :property ayarı bir değer içermelidir.',
],
'zip' => [
'extract_failed' => "':file' adlı çekirdek dosyası dosya paketinden çıkarılamadı.",
],
'event_log' => [
'hint' => 'Bu kayıtlar, uygulamada ortaya çıkan potansiyel hataları, istisnaları ve hata ayıklama bilgilerini görüntüler.',
'menu_label' => 'Olay kaydı',
'menu_description' => 'Olay kayıtlarının zamanlarını ve detaylarını görüntüler.',
'empty_link' => 'Olay kaydını temizle',
'empty_loading' => 'Olay kaydı temizleniyor...',
'empty_success' => 'Olay kaydı temizlendi.',
'return_link' => 'Olay kayıtlarına dön',
'id' => 'ID',
'id_label' => 'Olay Numarası',
'created_at' => 'Tarih & Saat',
'message' => 'Mesaj',
'level' => 'Seviye',
'preview_title' => 'Olay',
],
'request_log' => [
'hint' => 'Bu günlük dikkat edilmesi gereken tarayıcı isteklerinin bir listesini görüntüler. Örneğin, bir ziyaretçi bulunmayan bir CMS sayfasını açarsa 404 kodu ile bir kayıt oluşturulur.',
'menu_label' => 'İstek günlüğü',
'menu_description' => '(404) sayfası gibi kötü ya da yeniden yönlendirilmiş istekleri görüntüler.',
'empty_link' => 'İstek günlüğünü temizle',
'empty_loading' => 'İstek günlüğü temizleniyor...',
'empty_success' => 'İstek günlüğü temizlendi.',
'return_link' => 'İstek günlüğüne dön',
'id' => 'ID',
'id_label' => 'İstek Numarası',
'count' => 'Sayaç',
'referer' => 'Referer',
'url' => 'URL',
'status_code' => 'Durum',
'preview_title' => 'İstek',
],
'permissions' => [
'name' => 'Sistem',
'manage_system_settings' => 'Sistem ayarlarını düzenleyebilir',
'manage_software_updates' => 'Sistem güncellemelerini yönetebilir',
'access_logs' => 'Sistem günlüğünü görüntüleyebilir',
'manage_mail_templates' => 'E-posta şablonları yönetebilir',
'manage_mail_settings' => 'E-posta ayarlarını yönetebilir',
'manage_other_administrators' => 'Diğer yöneticileri düzenleyebilir',
'manage_preferences' => 'Yönetim paneli seçeneklerini düzenleyebilir',
'manage_editor' => 'Kod editör ayarlarını düzenleyebilir',
'view_the_dashboard' => 'Panoyu görüntüleyebilir',
'manage_default_dashboard' => 'Varsayılan kontrol panelini yönetebilir',
'manage_branding' => 'Yönetim Panelini özelleştirebilir',
],
'log' => [
'menu_label' => 'Log ayarları',
'menu_description' => 'Hangi alanlar için log kayıtları tutulacağını belirtin.',
'default_tab' => 'Log kaydetme',
'log_events' => 'Sistem olaylarını kaydet',
'log_events_comment' => 'Dosya tabanlı loglara ek olarak, sistem olaylarını veritabanında da tutar.',
'log_requests' => 'Hatalı istekleri kaydet',
'log_requests_comment' => '404 hataları gibi dikkat gerektirebilecek tarayıcı istekleri.',
'log_theme' => 'Tema değişikliklerini kaydet',
'log_theme_comment' => 'Tema dosyalarında backend üzerinden bir değişiklik yapıldığında tutulan kayıtlar.',
],
'media' => [
'invalid_path' => "Geçersiz dosya dizini belirtildi: ':path'.",
'folder_size_items' => 'öğe(ler)',
],
];

View File

@ -0,0 +1,175 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => ':attribute kabul edilmelidir.',
'active_url' => ':attribute dogry URL bolmalydyr.',
'after' => ':attribute şundan has köne sene bolmalydyr :date.',
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
'alpha' => ':attribute dine harplardan durmalydyr.',
'alpha_dash' => ':attribute dine harplardan, sanlardan we tirelerden durmalydyr.',
'alpha_num' => ':attribute dine harplardan we sanlardan durmalydyr.',
'array' => ':attribute ýygyndy bolmalydyr.',
'before' => ':attribute şundan has irki sene bolmalydyr :date.',
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
'between' => [
'numeric' => ':attribute :min - :max arasynda bolmalydyr.',
'file' => ':attribute :min - :max kilobaýt arasynda bolmalydyr.',
'string' => ':attribute :min - :max harplar arasynda bolmalydyr.',
'array' => ':attribute :min - :max arasynda madda eýe bolmalydyr.',
],
'boolean' => ':attribute diňe dogry ýada ýalňyş bolmalydyr.',
'confirmed' => ':attribute tassyklamasy deň däl.',
'date' => ':attribute dogry sene bolmalydyr.',
'date_equals' => 'The :attribute must be a date equal to :date.',
'date_format' => ':attribute :format formatyna deň däl.',
'different' => ':attribute bilen :other birbirinden tapawutly bolmalydyr.',
'digits' => ':attribute :digits san bolmalydyr.',
'digits_between' => ':attribute :min bilen :max arasynda san bolmalydyr.',
'dimensions' => 'The :attribute has invalid image dimensions.',
'distinct' => 'The :attribute field has a duplicate value.',
'email' => ':attribute formaty ýalňyş.',
'ends_with' => 'The :attribute must end with one of the following: :values.',
'exists' => 'Saýlanan :attribute ýalňyş.',
'file' => 'The :attribute must be a file.',
'filled' => ':attribute meýdany zerur.',
'gt' => [
'numeric' => 'The :attribute must be greater than :value.',
'file' => 'The :attribute must be greater than :value kilobytes.',
'string' => 'The :attribute must be greater than :value characters.',
'array' => 'The :attribute must have more than :value items.',
],
'gte' => [
'numeric' => 'The :attribute must be greater than or equal :value.',
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
'string' => 'The :attribute must be greater than or equal :value characters.',
'array' => 'The :attribute must have :value items or more.',
],
'image' => ':attribute surat bolmalydyr.',
'in' => ':attribute mukdary ýalňyş.',
'in_array' => 'The :attribute field does not exist in :other.',
'integer' => ':attribute san bolmalydyr.',
'ip' => ':attribute dogry IP adres bolmalydyr.',
'ipv4' => 'The :attribute must be a valid IPv4 address.',
'ipv6' => 'The :attribute must be a valid IPv6 address.',
'json' => 'The :attribute must be a valid JSON string.',
'lt' => [
'numeric' => 'The :attribute must be less than :value.',
'file' => 'The :attribute must be less than :value kilobytes.',
'string' => 'The :attribute must be less than :value characters.',
'array' => 'The :attribute must have less than :value items.',
],
'lte' => [
'numeric' => 'The :attribute must be less than or equal :value.',
'file' => 'The :attribute must be less than or equal :value kilobytes.',
'string' => 'The :attribute must be less than or equal :value characters.',
'array' => 'The :attribute must not have more than :value items.',
],
'max' => [
'numeric' => ':attribute :max den kiçi bolmalydyr.',
'file' => 'Faýl :max kilobaýtdan kiçi bolmalydyr.',
'string' => ':attribute :max harpdan kiçi bolmalydyr.',
'array' => ':attribute iň az :max maddadan ybarat bolmalydyr.',
],
'mimes' => 'Faýlyň formaty :values bolmalydyr.',
'mimetypes' => ':attribute faýlň formaty :values bolmalydyr.',
'min' => [
'numeric' => ':attribute mukdary :min dan köp bolmalydyr.',
'file' => ':attribute mukdary :min kilobaýtdan köp bolmalydyr.',
'string' => ':attribute mukdary :min harpdan köp bolmalydyr.',
'array' => ':attribute iň az :min harpdan bolmalydyr.',
],
'multiple_of' => 'The :attribute must be a multiple of :value',
'not_in' => 'Saýlanan :attribute geçersiz.',
'not_regex' => 'The :attribute format is invalid.',
'numeric' => ':attribute san bolmalydyr.',
'password' => 'The password is incorrect.',
'present' => 'The :attribute field must be present.',
'regex' => ':attribute formaty ýalňyş.',
'required' => ':attribute meýdany zerur.',
'required_if' => ':attribute meýdany, :other :value hümmetine eýe bolanynda zerurdyr.',
'required_unless' => 'The :attribute field is required unless :other is in :values.',
'required_with' => ':attribute meýdany :values bar bolanda zerurdyr.',
'required_with_all' => ':attribute meýdany haýsyda bolsa bir :values bar bolanda zerurdyr.',
'required_without' => ':attribute meýdany :values ýok bolanda zerurdyr.',
'required_without_all' => ':attribute meýdany :values dan haýsyda bolsa biri ýok bolanda zerurdyr.',
'same' => ':attribute bilen :other deň bolmalydyr.',
'size' => [
'numeric' => ':attribute :size sandan ybarat bolmalydyr.',
'file' => ':attribute :size kilobaýt bolmalydyr.',
'string' => ':attribute :size harp bolmalydyr.',
'array' => ':attribute :size madda eýe bolmalydyr.',
],
'starts_with' => 'The :attribute must start with one of the following: :values.',
'string' => 'The :attribute must be a string.',
'timezone' => ':attribute dogry zolak bolmalydyr.',
'unique' => ':attribute önden hasaba alyndy.',
'uploaded' => 'The :attribute failed to upload.',
'url' => ':attribute formaty ýalňyş.',
'uuid' => 'The :attribute must be a valid UUID.',
'atleast_1_image' => 'Azyndan 1 surat ýüklemeli.',
'image_type' => 'Diňe :image_type ýüklemek bolýar!',
'image_size' => 'Surat :size Mb-dan uly bolmaly däl!',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention 'attribute.rule' to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of 'email'. This simply helps us make messages a little cleaner.
|
*/
'attributes' => [
'name_en' => 'Lotyň ady EN',
'name_ru' => 'Lotyň ady RU',
'name_tm' => 'Lotyň ady TM',
'mark' => 'Harydyň markasy',
'manufacturer' => 'Öndüriji',
'category_id' => 'Kategoriýa',
'country_id' => 'Öndürijiniň yurdy',
'measure_id' => 'Birlikler',
'quantity' => 'Harydyň mukdary',
'currency_id' => 'Pul birligi',
'price' => 'Bahasy',
'delivery_term_id' => 'Üpjün etmegiň şertleri',
'place' => 'Barmaly ýeri',
'packaging' => 'Gaplama',
'payment_term_id' => 'Töleg şertleri',
'description_ru' => 'Beýany RU',
'description_en' => 'Beýany EN',
'description_tm' => 'Beýany TM',
'bank_file' => 'Bankdan faýl',
],
];

View File

@ -90,8 +90,9 @@ class Balance extends ComponentBase
$newPayment->bank_file = \Input::file('bank_file');
$newPayment->save();
\Flash::success('Администратор просмотрит ваш документ оплаты, и средства перейдут на ваш баланс. Спасибо');
return \Redirect::back();
return [
'#form-steps' => $this->renderPartial('@payment_finish')
];
}
protected function validateForm($data, $rules) {

View File

@ -37,24 +37,25 @@ class Categories extends ComponentBase
'description' => 'Filter active categories only',
'type' => 'checkbox'
],
'categoryImages' => [
'title' => 'Images of categories',
'description' => 'Ctaegories with images or without them',
'type' => 'dropdown'
],
'slug' => [
'title' => 'Slug',
'description' => 'Category slug',
'default' => '{{ :slug }}',
'type' => 'string',
],
'renderFeatures' => [
'title' => 'Render features',
'description' => 'How to render',
'type' => 'dropdown'
],
];
}
public function getCategoryImagesOptions() {
public function getRenderFeaturesOptions() {
return [
'with_images' => 'With images',
'without_images' => 'Without images'
'without_images' => 'Without images',
'footer' => 'As links in footer'
];
}

View File

@ -40,8 +40,9 @@ class ContactForm extends ComponentBase
$message->subject('Birzha web site contact form');
});
\Flash::success('Сообщение отправлено');
return \Redirect::back();
return [
'#form-steps' => $this->renderPartial('@message_sent')
];
}
}
}

View File

@ -86,6 +86,8 @@ class OfferForm extends ComponentBase
$product = new Product;
}
$product->translateContext('tm');
$product->name = $data['name_tm'];
// Sets a single translated attribute for a language
$product->setAttributeTranslated('name', $data['name_ru'], 'ru');
@ -108,7 +110,10 @@ class OfferForm extends ComponentBase
$product->created_at = Carbon::now('Asia/Ashgabat');
$category->products()->save($product);
} else {
$product->save();
// detach from all other categories
$product->categories()->detach();
// attach to a new category
$category->products()->save($product);
}
// go to next step - next form
@ -141,13 +146,13 @@ class OfferForm extends ComponentBase
'delivery_term_id' => 'required',
'currency_id' => 'required',
'measure_id' => 'required',
'new_img' => 'required'
// 'new_img' => 'required'
];
$this->validateForm($data, $rules);
// validate if no old images and new images
if(!isset($data['new_img']) && !isset($data['old_img'])) {
throw new ValidationException(['no_images' => 'Хотя бы 1 фото должно быть']);
throw new ValidationException(['no_images' => trans('validation.atleast_1_image')]);
}
// seaparate validation for file type
@ -226,7 +231,7 @@ class OfferForm extends ComponentBase
$validator = Validator::make($data, $rules);
if($validator->fails()) {
throw new ValidationException(['new_img_type_error' => 'You must upload jpg,png!']);
throw new ValidationException(['new_img_type_error' => trans('validation.image_type', ['image_type' => 'jpg,png'])]);
}
}
@ -234,7 +239,7 @@ class OfferForm extends ComponentBase
$validator = Validator::make($data, $rules);
if($validator->fails()) {
throw new ValidationException(['new_img_size_error' => 'Max file size 1 Mb!']);
throw new ValidationException(['new_img_size_error' => trans('validation.image_size', ['size'=> 1])]);
}
}
@ -247,6 +252,8 @@ class OfferForm extends ComponentBase
}
protected function fillProduct($data,$attachedProduct) {
$attachedProduct->translateContext('tm');
$attachedProduct->description = $data['description_tm'];
// Sets a single translated attribute for a language
$attachedProduct->setAttributeTranslated('description', $data['description_ru'], 'ru');

View File

@ -1,19 +0,0 @@
<?php namespace TPS\Birzha\Components;
use Cms\Classes\ComponentBase;
class Product extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'Product Component',
'description' => 'No description provided yet...'
];
}
public function defineProperties()
{
return [];
}
}

View File

@ -1,19 +0,0 @@
<?php namespace TPS\Birzha\Components;
use Cms\Classes\ComponentBase;
class Products extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'Products Component',
'description' => 'No description provided yet...'
];
}
public function defineProperties()
{
return [];
}
}

View File

@ -1,50 +1,69 @@
<div class="contact_title">
Bank transfer payment
{{'account.bank_transfer'|_}}
</div>
<form class="post_form"
data-request="onPayByBankTransfer"
data-request-validate
data-request-flash
data-request-files
<form class="post_form bank_form" data-request="onPayByBankTransfer" data-request-validate data-request-flash data-request-files
data-request-data="amount: {{amount}}">
<p>Банковские реквизиты:</p>
<p>Банковские реквизиты:</p>
<div class="bank">
<div class="bank_group">
<div class="bank_title">
{{'account.bank_details'|_}}:
</div>
<div class="bank_text">
- 1234-1234-1234-1234
</div>
<div class="bank_text">
- 1234-1234-1234-1234
</div>
</div>
<div class="bank_group">
<div class="bank_title">
{{'account.bank_address'|_}}:
</div>
<div class="bank_text">
{{'account.bank_1'|_}}
</div>
</div>
<div class="bank_group">
<div class="bank_title">
{{'account.our_bank_details'|_}}:
</div>
<div class="bank_text">
- 1234-1234-1234-1234
</div>
</div>
</div>
<div class="post_input">
<label for="good-count">Сумма (TMT)<span>*</span> </label>
<label for="good-count">{{'account.amount'|_}} (TMT)<span>*</span> </label>
<input type="text" placeholder="100" id="good-count" disabled value="{{amount}}">
<span data-validate-for="amount" style="color: red;"></span>
</div>
<div class="post_upload_box">
<div class="post_upload_item">
<div class="post_input">
<label>Загрузить файл<span>*</span></label>
<span data-validate-for="bank_file" style="color: red;"></span>
<div class="upload_group">
<label for="file-1">Загрузить файл</label>
<div class="form_group">
<label class="additional">
<span>Ничего не выбранo</span>
</label>
<input type="file"
name="bank_file"
id="file-1" class="inputfile inputfile-1"
data-multiple-caption="{count} files selected"
/>
</div>
<label class="upload_label" >{{'account.upload_file'|_}}<span>*</span></label>
<div class="upload_group">
<label for="file-1">{{'account.upload_file'|_}}</label>
<div class="form_group">
<label class="additional">
<span>{{'account.nothing_chosen'|_}}</span>
</label>
<input type="file" name="bank_file" id="file-1" class="inputfile inputfile-1"
data-multiple-caption="{count} files selected" />
</div>
</div>
<span data-validate-for="bank_file" style="color: red;"></span>
</div>
</div>
<div class="btn_bg">
<button class="post_btn" type="submit">
Отправить
{{'account.send'|_}}
</button>
</div>
</form>
<script src="{{ 'assets/js/custom-file-input.js'|theme }}"></script>
<script src="{{ 'assets/js/custom-file-input.js'|theme }}"></script>

View File

@ -9,48 +9,42 @@
{% if user.is_activated %}
<div class="post_wrap" id="form-steps">
<div class="contact_title">
Пополнение баланса
{{'account.fill_up_balance'|_}}
</div>
{% flash success %}
<p style="color: green;">{{ message }}</p>
{% endflash %}
<form action="#"
<form action="#"
data-request="onSend"
data-request-validate
data-request-validate
data-request-flash
class="post_form post_form-2 first-step-form">
<div class="post_upload_item">
<div class="post_input">
<label for="good-count">Сумма (TMT)<span>*</span> </label>
<label for="good-count">{{'account.amount'|_}} (TMT)<span>*</span> </label>
<input type="number" step="0.01" name="amount" placeholder="100" id="good-count" required>
<span data-validate-for="amount" style="color: red;"></span>
</div>
<div class="post_input">
<label>Метод оплаты <span>*</span> <span data-validate-for="payment_type" style="color: red;"></span></label>
<label>{{'account.payment_type'|_}} <span>*</span> <span data-validate-for="payment_type" style="color: red;"></span></label>
<div class="my-select">
<select name="payment_type" required>
<option value="">Метод оплаты</option>
<option value="bank">Bank transfer</option>
<option value="online">Online payment</option>
<option value="">{{'account.payment_type'|_}}</option>
<option value="bank">{{'account.bank_transfer'|_}}</option>
<option value="online">{{'account.online_payment'|_}}</option>
</select>
</div>
</div>
</div>
<div class="btn_bg">
<button class="post_btn" type="submit" data-attach-loading>
Pay
{{'account.pay'|_}}
</button>
</div>
</form>
</div>
{% else %}
<div class="post_wrap">

View File

@ -0,0 +1,11 @@
<section class="thanks">
<div class="auto_container">
<div class="thanks_wrap">
<div class="thanks_text">
{{'account.bank_transfer_message'|_}}
</div>
</div>
</div>
</section>

View File

@ -2,6 +2,6 @@
{% if categories %}
{% partial __SELF__~"::"~__SELF__.property('categoryImages') %}
{% partial __SELF__~"::"~__SELF__.property('renderFeatures') %}
{% endif %}

View File

@ -0,0 +1,6 @@
{% for category in categories %}
<a href="{{ 'category'|page({ slug: category.slug }) }}" class="foot_item">
{{ category.name }}
</a>
{% endfor %}

View File

@ -3,49 +3,47 @@
<div class="auto_container">
<div class="contact_wrap">
<div class="contact_body">
<div class="contact_content">
<div class="contact_content" id="form-steps">
<div class="contact_title">
Обратная связь
{{'page.contact_us'|_}}
</div>
{% flash success %}
<p style="color: green;">{{ message }}</p>
{% endflash %}
<form action="#" data-request="onSend" data-request-validate data-request-flash class="contact_form">
<div class="contact_input">
<label for="name">Ваше имя</label>
<input type="text" id="name" name="firstname" placeholder="Пример: Аман" required>
<label for="name">{{'page.your_firstname'|_}}</label>
<input type="text" id="name" name="firstname" placeholder="{{'page.example'|_}}: {{'page.example_firstname'|_}}" required>
<span class=" " data-validate-for="firstname" style="color: red;"></span>
</div>
<div class="contact_input">
<label for="surname">Ваша фамилия</label>
<input type="text" id="surname" name="lastname" placeholder="Пример: Аманов" required>
<label for="surname">{{'page.your_lastname'|_}}</label>
<input type="text" id="surname" name="lastname" placeholder="{{'page.example'|_}}: {{'page.example_lastname'|_}}" required>
<span class=" " data-validate-for="lastname" style="color: red;"></span>
</div>
<div class="contact_input">
<label for="mobile">Номер телефона</label>
<input type="tel" id="mobile" name="mobile" placeholder="Пример: +993 65 656565" required>
<label for="mobile">{{'auth.phone'|_}}</label>
<input type="tel" id="mobile" name="mobile" placeholder="{{'page.example'|_}}: +993 65 656565" required>
<span class=" " data-validate-for="mobile" style="color: red;"></span>
</div>
<div class="contact_input">
<label for="mail">Электронная почта</label>
<input type="email" id="email" name="email" placeholder="Пример: amanamanov@mail.ru" required>
<label for="mail">{{'auth.email'|_}}</label>
<input type="email" id="email" name="email" placeholder="{{'page.example'|_}}: amanamanov@mail.ru" required>
<span class=" " data-validate-for="email" style="color: red;"></span>
</div>
<div class="contact_comment">
<label for="comment">Сообщение</label>
<textarea id="message" name="message" placeholder="Опишите вашу проблемму" required></textarea>
<label for="comment">{{'page.message'|_}}</label>
<textarea id="message" name="message" placeholder="{{'page.describe_your_problem'|_}}" required></textarea>
<span class=" " data-validate-for="message" style="color: red;"></span>
</div>
<button type="submit" class="btn btn--blue" data-attach-loading>
Отправить сообщение
{{'account.send'|_}}
</button>
</form>
</div>
<div class="contact_info">
<div class="contact_title">
Наши контакты
{{'footer.contacts'|_}}
</div>
<div class="contact_box">
<div class="contact_row">
@ -54,7 +52,7 @@
</div>
<div class="row_content">
<div class="contact_sub_title">
Телефон:
{{'footer.tel'|_}}:
</div>
<div class="contact_text">
+99312446015
@ -86,10 +84,10 @@
</div>
<div class="row_content">
<div class="contact_sub_title">
Адрес:
{{'footer.address'|_}}:
</div>
<div class="contact_text">
744000, Туркменистан г.Ашгабат, Арчабиль шаелы 52
{{ address|raw }}
</div>
</div>
</div>

View File

@ -0,0 +1,11 @@
<section class="thanks">
<div class="auto_container">
<div class="thanks_wrap">
<div class="thanks_text">
{{'page.message_sent'|_}}
</div>
</div>
</div>
</section>

View File

@ -55,8 +55,7 @@
<img src="{{'assets/images/big_logo.png'|theme}}" alt="logo">
</div>
<div class="chat_wall_text">
Выберите один из активных диалоговых окон
чтоб начать переписку!
{{'account.choose_chat'|_}}
</div>
</div>

View File

@ -6,7 +6,7 @@
<div class="library_wrap">
<div class="product_head">
<div class="product_title">
Мои объявления
{{'auth.my_announces'|_}}
</div>
<!-- <div class="sort_by">
<div class="sort_icon">
@ -101,23 +101,23 @@
<span class="show_span" style="color:green">{{offer.status}}</span>
<div class="new_group">
<a href="{{ 'offer'|page({ slug: offer.slug, id: offer.id }) }}" class="item_btn">
На сайте
{{'account.on_site'|_}}
</a>
<a href="#"
data-request="onDeleteOffer"
data-request-data="deleting_product_id: {{offer.id}}"
class="item_btn delete_item_btn">
Удалить
{{'account_delete'|_}}
</a>
</div>
{% elseif offer.status == "approved" and offer.ends_at < __SELF__.today %}
<span class="show_span" style="color:black">Date is expired</span>
<div class="new_group">
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
Продлить
{{'account.prolong'|_}}
</a>
<a href="#" class="item_btn delete_item_btn">
Удалить
{{'account_delete'|_}}
</a>
</div>
@ -126,26 +126,26 @@
<span class="show_span" style="color:red">{{ offer.status_note }}</span>
<div class="new_group">
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
Edit
{{'account.edit'|_}}
</a>
<a href="#" class="item_btn delete_item_btn">
Удалить
{{'account_delete'|_}}
</a>
</div>
{% elseif offer.status == "draft" %}
<span class="show_span" style="color:yellow">{{offer.status}}</span>
<div class="new_group">
<a href="{{ 'kabinet/edit_post'|page({ id: offer.id }) }}" class="item_btn">
Complete
{{'account.complete'|_}}
</a>
<a href="#" class="item_btn delete_item_btn">
Удалить
{{'account_delete'|_}}
</a>
</div>
{% elseif offer.status == "new" %}
<span class="show_span" style="color:blue">{{offer.status}}</span>
<a href="#" style="pointer-events: none; background-color: cornflowerblue;" class="item_btn full_btn">
Admin is checking
{{'account.admin_checking'|_}}
</a>
{% endif %}
</div>

View File

@ -9,7 +9,7 @@
{% if user.is_activated %}
<div class="post_wrap" id="form-steps">
<div class="contact_title">
Добавить объявление (Step 1)
{{'account.add_post'|_({ step_number: 1 })}} {{productForEditing.name}}
</div>
<form action="#"
@ -24,8 +24,8 @@
<!-- ru name -->
<div class="post_input">
<label>Наименование лота (RU) <span>*</span></label>
<input type="text" name="name_ru" data-belongsto="product" placeholder="Пример: Гидравлическое масло"
<label>{{'account.lot_title'|_}} (RU) <span>*</span></label>
<input type="text" name="name_ru" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.lot_title_example'|_}}"
{% if productForEditing %}
value="{{ productForEditing.lang('ru').name }}"
{% endif %}
@ -34,8 +34,8 @@
</div>
<!-- en name -->
<div class="post_input">
<label>Наименование лота (EN) <span>*</span></label>
<input type="text" name="name_en" data-belongsto="product" placeholder="Пример: Гидравлическое масло"
<label>{{'account.lot_title'|_}} (EN) <span>*</span></label>
<input type="text" name="name_en" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.lot_title_example'|_}}"
{% if productForEditing %}
value="{{ productForEditing.lang('en').name }}"
{% endif %}
@ -44,18 +44,18 @@
</div>
<!-- tm name -->
<div class="post_input">
<label>Наименование лота (TM) <span>*</span></label>
<input type="text" name="name_tm" data-belongsto="product" placeholder="Пример: Гидравлическое масло"
<label>{{'account.lot_title'|_}} (TM) <span>*</span></label>
<input type="text" name="name_tm" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.lot_title_example'|_}}"
{% if productForEditing %}
value="{{ productForEditing.name }}"
value="{{ productForEditing.lang('tm').name }}"
{% endif %}
>
<span class="error_span" data-validate-for="name_tm" style="color: red;"></span>
</div>
<div class="post_input">
<label for="mark-goods">Марка товара <span>*</span></label>
<input type="text" name="mark" data-belongsto="product" placeholder="Пример: Гидравлическое масло ЛУКОЙЛ 46" id="mark-goods"
<label for="mark-goods">{{'page.prod_mark'|_}} <span>*</span></label>
<input type="text" name="mark" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="mark-goods"
{% if productForEditing %}
value="{{ productForEditing.mark }}"
{% endif %}
@ -64,8 +64,8 @@
</div>
<div class="post_input">
<label for="owner">Производитель <span>*</span></label>
<input type="text" name="manufacturer" data-belongsto="product" placeholder="Пример: ЛУКОЙЛ" id="owner"
<label for="owner">{{'page.prod_vendor'|_}} <span>*</span></label>
<input type="text" name="manufacturer" data-belongsto="product" placeholder="{{'page.example'|_}}: {{'account.mark_example'|_}}" id="owner"
{% if productForEditing %}
value="{{ productForEditing.manufacturer }}"
{% endif %}
@ -74,10 +74,10 @@
</div>
<div class="post_input p-b">
<label>Категория <span>*</span> </label>
<label>{{'account.category'|_}} <span>*</span> </label>
<div class="my-select">
<select class="category-select" data-belongsto="product" name="category_id">
<option value="0">Category</option>
<option value="0">{{'account.category'|_}}</option>
{% for c in categories %}
<option value="{{ c.id }}"
{% if productForEditing and productForEditing.categories.first.id == c.id %}
@ -91,10 +91,10 @@
</div>
<div class="post_input p-b">
<label>Страна производителя <span>*</span> </label>
<label>{{'page.prod_vendor_country'|_}} <span>*</span> </label>
<div class="my-select">
<select name="country_id" data-belongsto="product">
<option value="0">Страна производителя</option>
<option value="0">{{'page.prod_vendor_country'|_}}</option>
{% for country in countries %}
<option value="{{ country.id }}"
{% if productForEditing and productForEditing.country.id == country.id %}
@ -109,12 +109,12 @@
<div class="btn_bg">
<button class="post_btn" type="submit" data-attach-loading>
Шаг 2
{{'account.step'|_({ step_number: 2 })}}
</button>
</div>
<div class="add_post_text">
Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
{{'account.required_fields'|_}}
</div>
</form>
@ -123,7 +123,7 @@
{% else %}
<div class="post_wrap">
<div class="contact_title">
Activation is required
{{'account.activation_required'|_}}
</div>
</div>
{% endif %}

View File

@ -3,10 +3,10 @@
<div class="thanks_wrap">
<div class="thanks_title">
Спасибо за оставленный вами запрос
{{'account.thanks_for_posting'|_}}
</div>
<div class="thanks_text">
После проверки нашим Админом ваш лот будет размещен на нашем сайте!
{{'account.admin_check_and_approve'|_}}
</div>
</div>

View File

@ -1,5 +1,5 @@
<div class="contact_title">
Добавить объявление (Step 2)
{{'account.add_post'|_({ step_number: 2 })}}
</div>
<form action="#" class="post_form" enctype="multipart/form-data"
@ -11,10 +11,10 @@
<input type="hidden" name="product_id" value="{{product.id}}">
<div class="post_input p-b">
<label>Единицы измерения <span>*</span> </label>
<label>{{'page.measure'|_}} <span>*</span> </label>
<div class="my-select">
<select name="measure_id">
<option value="">Единицы измерения</option>
<option value="">{{'page.measure'|_}}</option>
{% for m in measures %}
<option value="{{m.id}}"
{% if product.measure.id == m.id %}
@ -28,17 +28,17 @@
</div>
<div class="post_input">
<label for="good-count">Количество товара <span>*</span> </label>
<input type="text" name="quantity" placeholder="Пример: 3 литра" id="good-count"
<label for="good-count">{{'page.prod_amount_2'|_}} <span>*</span> </label>
<input type="number" name="quantity" placeholder="{{'page.example'|_}}: {{'account.quantity_example'|_}}" id="good-count"
value="{{ product.quantity }}">
<span class="error_span" data-validate-for="quantity" style="color: red;"></span>
</div>
<div class="post_input p-b">
<label>Валюта <span>*</span> </label>
<label>{{'account.currency'|_}} <span>*</span> </label>
<div class="my-select">
<select name="currency_id">
<option value="">Валюта</option>
<option value="">{{'account.currency'|_}}</option>
{% for currency in currencies %}
<option value="{{currency.id}}"
{% if product.currency.id == currency.id %}
@ -52,17 +52,17 @@
</div>
<div class="post_input">
<label for="good-cost">Стартовая цена за единицу <span>*</span> </label>
<input type="text" name="price" placeholder="Пример: 120" id="good-cost"
<label for="good-cost">{{'page.prod_price'|_}} <span>*</span> </label>
<input type="text" name="price" placeholder="{{'page.example'|_}}: 120" id="good-cost"
value="{{ product.price }}">
<span class="error_span" data-validate-for="price" style="color: red;"></span>
</div>
<div class="post_input p-b">
<label>Условия поставки <span>*</span> </label>
<label>{{'page.delivery_cond'|_}} <span>*</span> </label>
<div class="my-select">
<select name="delivery_term_id">
<option value="">Условия поставки</option>
<option value="">{{'page.delivery_cond'|_}}</option>
{% for dt in deliveryTerms %}
<option value="{{dt.id}}"
{% if product.delivery_term.id == dt.id %}
@ -76,17 +76,17 @@
</div>
<div class="post_input">
<label for="good-cost">Пункт <span>*</span> </label>
<input type="text" name="place" placeholder="Пример: 120" id="good-cost"
<label for="good-cost">{{'page.delivery_point'|_}} <span>*</span> </label>
<input type="text" name="place" placeholder="{{'page.example'|_}}: {{'account.delivery_point_example'|_}}" id="good-cost"
value="{{ product.place }}">
<span class="error_span" data-validate-for="place" style="color: red;"></span>
</div>
<div class="post_input p-b">
<label>Упаковка <span>*</span></label>
<label>{{'page.packaging'|_}} <span>*</span></label>
<div class="my-select">
<select name="packaging">
<option value="">Упаковка</option>
<option value="">{{'page.packaging'|_}}</option>
<option value="yes"
{% if product.packaging == "yes" %}
selected
@ -103,10 +103,10 @@
</div>
<div class="post_input p-b">
<label>Условия оплаты <span>*</span></label>
<label>{{'page.payment_cond'|_}} <span>*</span></label>
<div class="my-select">
<select name="payment_term_id">
<option value="">Условия оплаты</option>
<option value="">{{'page.payment_cond'|_}}</option>
{% for pt in paymentTerms %}
<option value="{{pt.id}}"
{% if product.payment_term.id == pt.id %}
@ -120,24 +120,21 @@
</div>
<div class="post_comment">
<label for="description_ru">Описание (RU) <span>*</span></label>
<label for="description_ru">{{'page.prod_desc'|_}} (RU) <span>*</span></label>
<textarea id="description_ru" name="description_ru">{{product.lang('ru').description}}</textarea>
<span class="error_span" data-validate-for="description_ru" style="color: red;"></span>
</div>
<div class="post_comment">
<label for="description_en">Описание (EN) <span>*</span></label>
<label for="description_en">{{'page.prod_desc'|_}} (EN) <span>*</span></label>
<textarea id="description_en" name="description_en">{{product.lang('en').description}}</textarea>
<span class="error_span" data-validate-for="description_en" style="color: red;"></span>
</div>
<div class="post_comment">
<label for="description_tm">Описание (TM) <span>*</span></label>
<label for="description_tm">{{'page.prod_desc'|_}} (TM) <span>*</span></label>
<textarea id="description_tm" name="description_tm">{{product.lang('tm').description}}</textarea>
<span class="error_span" data-validate-for="description_tm" style="color: red;"></span>
</div>
<span class="error_span" data-validate-for="no_images" style="color: red;"></span>
<span class="error_span" data-validate-for="new_img_size_error" style="color: red;"></span>
<span class="error_span" data-validate-for="new_img_type_error" style="color: red;"></span>
<div class="post_upload_box">
{% for i in 0..2 %}
@ -151,12 +148,12 @@
<div class="post_input">
{% if not product.images[i] %}
<label>Загрузить фото #{{i+1}} <span>*</span></label>
<label>{{'account.upload_photo'|_}} #{{i+1}} <span>*</span></label>
<div class="upload_group">
<label for="file-{{i}}">Загрузить файл</label>
<label for="file-{{i}}">{{'account.upload_photo'|_}}</label>
<div class="form_group">
<label class="additional">
<span>Ничего не выбранo</span>
<span>{{'account.nothing_chosen'|_}}</span>
</label>
<input type="file"
name="new_img[{{i}}]"
@ -178,15 +175,18 @@
{% endfor %}
</div>
<span class="error_span t-c" data-validate-for="no_images" style="color: red;"></span>
<span class="error_span t-c" data-validate-for="new_img_size_error" style="color: red;"></span>
<span class="error_span t-c" data-validate-for="new_img_type_error" style="color: red;"></span>
<div class="btn_bg">
<button class="post_btn" type="submit">
Шаг 3
{{'account.step'|_({ step_number: 3 })}}
</button>
</div>
<div class="add_post_text">
Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
{{'account.required_fields'|_}}
</div>
</form>

View File

@ -1,5 +1,5 @@
<div class="contact_title">
Добавить объявление (Step 3)
{{'account.add_post'|_({ step_number: 3 })}}
</div>
@ -17,17 +17,17 @@
<div class="thanks_title">
За публикацию с вашего баланса будет снято {{fee}} TMT
{{'account.fee_for_publishing'|_({ fee: fee })}}
</div>
<div class="btn_bg">
<button class="post_btn" type="submit">
Опубликовать
{{'account.publish'|_}}
</button>
</div>
<div class="add_post_text">
Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
{{'account.required_fields'|_}}
</div>
</form>

View File

@ -1,3 +0,0 @@
<p>This is the default markup for component Product</p>
<small>You can delete this file if you want</small>

View File

@ -1,3 +0,0 @@
<p>This is the default markup for component Products</p>
<small>You can delete this file if you want</small>

View File

@ -153,7 +153,7 @@
<div class="btn_group">
{% if account.user and account.user.id != offer.vendor.id %}
<a href="{{ 'kabinet/messages'|page }}?seller_id={{offer.vendor.id}}" class="btn btn--blue">
Сообщение продавцу
{{'page.message_to_seller'|_}}
</a>
{% endif %}
</div>
@ -162,45 +162,45 @@
<div class="seller_info">
<div class="seller_inner">
<div class="seller_title">
Контакты продавца
{{'page.seller_cont'|_}}
</div>
<div class="sller_box">
<div class="seller_row">
<div class="seller_icon">
<img src="../../../../../themes/birzha/assets/images/svg/seller-profile.svg" alt="icon">
<img src="{{'assets/images/svg/seller-profile.svg'|theme}}" alt="icon">
</div>
<div class="seller_group">
<div class="seller_label">
ФИО
{{'page.fio'|_}}
</div>
<div class="seller_text">
Аман Аманов
{{offer.vendor.name}} {{offer.vendor.surname}}
</div>
</div>
</div>
<div class="seller_row">
<div class="seller_icon">
<img src="../../../../../themes/birzha/assets/images/svg/seller-phone.svg" alt="icon">
<img src="{{'assets/images/svg/seller-phone.svg'|theme}}" alt="icon">
</div>
<div class="seller_group">
<div class="seller_label">
Телефон:
{{'footer.tel'|_}}:
</div>
<div class="seller_text">
+99312446015
{{offer.vendor.iu_telephone}}
</div>
</div>
</div>
<div class="seller_row">
<div class="seller_icon">
<img src="../../../../../themes/birzha/assets/images/svg/seller-mail.svg" alt="icon">
<img src="{{'assets/images/svg/seller-mail.svg'|theme}}" alt="icon">
</div>
<div class="seller_group">
<div class="seller_label">
E-mail:
</div>
<div class="seller_text">
info@exchange.gov.tm
{{offer.vendor.email}}
</div>
</div>
</div>

View File

@ -43,7 +43,6 @@ tabs:
api_password:
tab: Payment
label: Payment api password
type: password
span: right
fee:
tab: Payment

View File

@ -0,0 +1,42 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableDeleteTpsBirzhaOffers extends Migration
{
public function up()
{
Schema::dropIfExists('tps_birzha_offers');
}
public function down()
{
Schema::create('tps_birzha_offers', function($table)
{
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->integer('product_id');
$table->integer('vendor_id');
$table->text('description')->nullable();
$table->integer('quantity');
$table->decimal('price', 10, 0);
$table->timestamp('created_at')->nullable();
$table->timestamp('updated_at')->nullable();
$table->string('status', 10);
$table->integer('measure_id');
$table->integer('payment_term_id')->nullable();
$table->integer('delivery_term_id')->nullable();
$table->string('packaging', 191)->nullable();
$table->string('place', 191)->nullable();
$table->string('mark', 191)->nullable();
$table->text('status_note')->nullable();
$table->integer('payment_id')->nullable();
$table->string('name', 191);
$table->integer('currency_id');
$table->dateTime('ends_at')->nullable();
$table->string('manufacturer', 191)->nullable();
$table->integer('country_id')->nullable();
});
}
}

View File

@ -0,0 +1,23 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableUpdateTpsBirzhaProducts18 extends Migration
{
public function up()
{
Schema::table('tps_birzha_products', function($table)
{
$table->text('desc1')->nullable();
});
}
public function down()
{
Schema::table('tps_birzha_products', function($table)
{
$table->dropColumn('desc1');
});
}
}

View File

@ -0,0 +1,23 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableUpdateTpsBirzhaProducts19 extends Migration
{
public function up()
{
Schema::table('tps_birzha_products', function($table)
{
$table->text('desc2')->nullable();
});
}
public function down()
{
Schema::table('tps_birzha_products', function($table)
{
$table->dropColumn('desc2');
});
}
}

View File

@ -0,0 +1,23 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableUpdateTpsBirzhaProducts20 extends Migration
{
public function up()
{
Schema::table('tps_birzha_products', function($table)
{
$table->string('magl')->nullable();
});
}
public function down()
{
Schema::table('tps_birzha_products', function($table)
{
$table->dropColumn('magl');
});
}
}

View File

@ -0,0 +1,23 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableUpdateTpsBirzhaProducts21 extends Migration
{
public function up()
{
Schema::table('tps_birzha_products', function($table)
{
$table->string('dfdfdf')->nullable();
});
}
public function down()
{
Schema::table('tps_birzha_products', function($table)
{
$table->dropColumn('dfdfdf');
});
}
}

View File

@ -0,0 +1,29 @@
<?php namespace TPS\Birzha\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableUpdateTpsBirzhaProducts22 extends Migration
{
public function up()
{
Schema::table('tps_birzha_products', function($table)
{
$table->dropColumn('desc1');
$table->dropColumn('desc2');
$table->dropColumn('magl');
$table->dropColumn('dfdfdf');
});
}
public function down()
{
Schema::table('tps_birzha_products', function($table)
{
$table->text('desc1')->nullable();
$table->text('desc2')->nullable();
$table->string('magl', 191)->nullable();
$table->string('dfdfdf', 191)->nullable();
});
}
}

View File

@ -212,3 +212,21 @@
1.0.72:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_17.php
1.0.73:
- 'Drop table tps_birzha_offers'
- builder_table_delete_tps_birzha_offers.php
1.0.74:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_18.php
1.0.75:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_19.php
1.0.76:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_20.php
1.0.77:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_21.php
1.0.78:
- 'Updated table tps_birzha_products'
- builder_table_update_tps_birzha_products_22.php

View File

@ -2220,9 +2220,16 @@ li {
}
.error_span {
position: absolute;
/* position: absolute;
left: 0;
bottom: 0;
bottom: 0; */
margin-top: 5px;
display: block;
}
.t-c {
text-align: center;
width: 100%;
}
.show_span {
@ -2272,10 +2279,14 @@ li {
-o-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
position: relative;
margin: -25px -20px 0;
}
.post_form-2 .btn_bg {
margin-top: 50px;
}
.simple_group {
display: flex;
align-items: center;
@ -2291,7 +2302,7 @@ li {
width: calc(33.33% - 40px);
margin: 25px 20px 0;
position: relative;
padding-bottom: 25px;
/* padding-bottom: 25px; */
}
.post_input input {
@ -2334,7 +2345,7 @@ li {
width: calc(100% - 40px);
margin: 25px 20px;
position: relative;
padding-bottom: 25px;
/* padding-bottom: 25px; */
}
.post_comment textarea {
@ -2364,6 +2375,68 @@ li {
color: red;
}
.bank {
width: 100%;
margin: 15px 10px 0;
display: flex;
flex-wrap: wrap;
-ms-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-o-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
}
.bank_group {
width: calc(33.33% - 20px);
margin: 10px;
}
.bank_group:last-child {
margin-bottom: 0;
}
.bank_title {
font-size: 20px;
font-weight: 600;
line-height: 1.3;
margin-bottom: 10px;
}
.bank_text {
font-size: 16px;
font-weight: 400;
line-height: 1.4;
margin-bottom: 5px;
padding-left: 20px;
}
.bank_form .post_upload_box {
width: calc(67% - 45px);
margin: 25px 20px 0;
}
/* .bank_form .post_upload_item {
margin: 25px 0;
} */
.upload_label {
font-size: var(--text-18);
font-weight: 400;
line-height: 1;
margin-left: 20px;
margin-bottom: 20px;
display: block;
}
.upload_label span {
color: red;
}
.bank_form .post_upload_box .post_upload_item {
width: 100%;
margin: 25px 0;
}
.btn_bg {
width: calc(100% - 40px);
margin: 25px 20px;
@ -2593,7 +2666,7 @@ li {
.my-select {
width: 100%;
position: relative;
padding-bottom: 25px;
/* padding-bottom: 25px; */
}
.p-b {
@ -2603,15 +2676,17 @@ li {
.my-select::after {
position: absolute;
content: "";
top: 37%;
top: 30px;
right: 30px;
transform: translateY(-30%);
width: 0;
height: 0;
/* display: ; */
border: 6px solid #000;
border-color: #000 transparent transparent transparent;
}
.my-select select {
width: 100%;
border: 1px solid rgba(0, 0, 0, .5);
@ -3786,6 +3861,18 @@ li {
height: 550px;
}
.bank_title {
font-size: 18px;
}
.bank_text {
font-size: 14px;
}
.bank_group {
width: calc(40% - 20px);
}
}
@media(max-width: 1000px) {
@ -4084,6 +4171,22 @@ li {
height: 30px;
}
.bank_form .post_upload_box {
width: calc(50% - 45px);
}
.bank_form .post_input input {
padding: 10px 20px;
}
/* .bank_form .upload_group label {
padding: 12px;
}
.bank_form .additional {
padding: 0 0 0 5px !important;
} */
}
@media(max-width: 900px) {
@ -4242,6 +4345,20 @@ li {
.my_message {
width: 70%;
}
.bank_form .post_input {
width: 100%;
margin: 15px 20px;
}
.bank_form .post_upload_box {
width: 100%;
margin: 10px 20px;
}
.bank_form .post_upload_box .post_upload_item {
margin: 0;
}
}
@media(max-width: 700px) {
@ -4363,7 +4480,7 @@ li {
}
.contact_title {
margin-bottom: 40px;
margin-bottom: 20px;
}
@ -4378,7 +4495,7 @@ li {
}
.post_form {
margin: -25px 0;
margin: 0px 0;
}
.post_input label {
@ -4488,6 +4605,23 @@ li {
height: 470px;
}
.bank_group {
width: 100%;
margin: 10px 0;
}
.bank_form .post_input {
margin: 15px 0px;
}
.bank_form .post_upload_box {
margin: 10px 0px;
}
.upload_label {
margin: 0 0 12px 10px;
}
}
@media(max-width: 600px) {
@ -4557,9 +4691,9 @@ li {
margin-right: 0;
}
.contact_title {
/* .contact_title {
margin-bottom: 30px;
}
} */
.contact {
padding: 40px 0;
@ -4820,7 +4954,7 @@ li {
}
.logo_text {
font-size: 14px;
font-size: 13px;
}
.footer_img {
@ -4857,6 +4991,10 @@ li {
font-size: 14px;
}
.error_span {
font-size: 12px;
}
.contact_input {
margin: 10px 0;
}
@ -4897,6 +5035,21 @@ li {
font-size: 17px;
}
.bank_group {
margin: 5px 0;
}
.bank_form .upload_group label {
font-size: 12px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
.bank_form .additional {
padding: 0 0 0 5px;
}
}
@media(max-width: 420px) {
@ -4917,10 +5070,15 @@ li {
height: 80px;
}
.post_input input {
.post_input input,
.my-select select {
padding: 10px 15px;
}
.my-select::after {
top: 20px;
}
.custom-select {
padding: 10px 15px;
}
@ -4986,5 +5144,16 @@ li {
height: 26px;
}
.bank_title {
font-size: 16px;
}
.post_form-2 .btn_bg {
margin-top: 30px;
}
.upload_label {
font-size: 14px;
}
}

View File

@ -22,6 +22,44 @@ en:
account.current_password: Current password
account.new_password: New password
account.info: Account info
account.balance: Balance
account.fill_up_balance: Fill up balance
account.bank_details: Банковские реквизиты
account.bank_address: Bank address
account.bank_1: 744000, Туркменистан г.Ашгабат, Арчабиль шаелы 52
account.our_bank_details: Our реквизиты
account.amount: Сумма
account.upload_file: Загрузить файл
account.nothing_chosen: Ничего не выбранo
account.send: Отправить
account.bank_transfer: Bank transfer
account.online_payment: Online payment
account.pay: Pay
account.bank_transfer_message: Администратор просмотрит ваш документ оплаты, и средства перейдут на ваш баланс. Спасибо
account.payment_type: Метод оплаты
account.choose_chat: Выберите один из активных диалоговых окон чтоб начать переписку!
account.on_site: На сайте
account_delete: Удалить
account.prolong: Продлить
account.edit: Edit
account.complete: Complete
account.admin_checking: Admin is checking
account.add_post: Добавить объявление (Step :step_number)
account.lot_title: Наименование лота
account.lot_title_example: Гидравлическое масло
account.mark_example: ЛУКОЙЛ 46
account.category: Категория
account.step: Step :step_number
account.required_fields: Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
account.activation_required: Activation is required
account.thanks_for_posting: Спасибо за оставленный вами запрос
account.admin_check_and_approve: После проверки нашим Админом ваш лот будет размещен на нашем сайте!
account.quantity_example: 3 литра
account.currency: Валюта
account.delivery_point_example: Mary
account.upload_photo: Загрузить фото
account.fee_for_publishing: За публикацию с вашего баланса будет снято :fee TMT
account.publish: Опубликовать
topnav.reg: Sign up
topnav.login: Sign in
nav.home: Home
@ -40,6 +78,17 @@ en:
page.prod_mark: Product mark
page.prod_vendor: Manufacturer
page.prod_vendor_country: Manufactured country
page.contact_us: Обратная связь
page.your_firstname: Ваше имя
page.your_lastname: Ваша фамилия
page.example: Пример
page.example_firstname: Аман
page.example_lastname: Аманов
page.message: Сообщение
page.describe_your_problem: Опишите вашу проблемму
page.message_sent: Сообщение отправлено
page.message_to_seller: Сообщение продавцу
page.fio: ФИО
page.prod_desc: Description
page.prod_amount: Quantity
page.prod_amount_2: Product quantity
@ -57,6 +106,10 @@ en:
page.seller_cont: Контакты продавца
page.buy_now: Купить сейчас
page.send_prod_request: Отправить запрос на лот
page.date_decrease: По убыванию
page.date_increase: По возрастанию
page.no_results_found: No results found
page.sort_by_date: По дате
footer.contacts: Контакты
footer.tel: Тел
footer.email: Эл. почта
@ -87,6 +140,44 @@ ru:
account.current_password: Açar sözüňiz
account.new_password: Täze açar söz
account.info: Персональные данные
account.balance: Balance
account.fill_up_balance: Fill up balance
account.bank_details: Банковские реквизиты
account.bank_address: Bank address
account.bank_1: 744000, Туркменистан г.Ашгабат, Арчабиль шаелы 52
account.our_bank_details: Our реквизиты
account.amount: Сумма
account.upload_file: Загрузить файл
account.nothing_chosen: Ничего не выбранo
account.send: Отправить
account.bank_transfer: Bank transfer
account.online_payment: Online payment
account.pay: Pay
account.bank_transfer_message: Администратор просмотрит ваш документ оплаты, и средства перейдут на ваш баланс. Спасибо
account.payment_type: Метод оплаты
account.choose_chat: Выберите один из активных диалоговых окон чтоб начать переписку!
account.on_site: На сайте
account_delete: Удалить
account.prolong: Продлить
account.edit: Edit
account.complete: Complete
account.admin_checking: Admin is checking
account.add_post: Добавить объявление (Step :step_number)
account.lot_title: Наименование лота
account.lot_title_example: Гидравлическое масло
account.mark_example: ЛУКОЙЛ 46
account.category: Категория
account.step: Step :step_number
account.required_fields: Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
account.activation_required: Activation is required
account.thanks_for_posting: Спасибо за оставленный вами запрос
account.admin_check_and_approve: После проверки нашим Админом ваш лот будет размещен на нашем сайте!
account.quantity_example: 3 литра
account.currency: Валюта
account.delivery_point_example: Mary
account.upload_photo: Загрузить фото
account.fee_for_publishing: За публикацию с вашего баланса будет снято :fee TMT
account.publish: Опубликовать
topnav.reg: Регистрация
topnav.login: Sign in
nav.home: Главная
@ -105,6 +196,17 @@ ru:
page.prod_mark: Марка товара
page.prod_vendor: Производитель
page.prod_vendor_country: Страна производителя
page.contact_us: Обратная связь
page.your_firstname: Ваше имя
page.your_lastname: Ваша фамилия
page.example: Пример
page.example_firstname: Аман
page.example_lastname: Аманов
page.message: Сообщение
page.describe_your_problem: Опишите вашу проблемму
page.message_sent: Сообщение отправлено
page.message_to_seller: Сообщение продавцу
page.fio: ФИО
page.prod_desc: Описание
page.prod_amount: Количество
page.prod_amount_2: Количество товара
@ -122,6 +224,10 @@ ru:
page.send_prod_request: Отправить запрос на лот
page.prod_kg: кг
page.pages: Страниц
page.date_decrease: По убыванию
page.date_increase: По возрастанию
page.no_results_found: No results found
page.sort_by_date: По дате
footer.contacts: Контакты
footer.tel: Тел
footer.email: Эл. почта
@ -152,6 +258,44 @@ tm:
account.current_password: Açar sözüňiz
account.new_password: Täze açar söz
account.info: Şahsy maglumatlar
account.balance: Balance
account.fill_up_balance: Fill up balance
account.bank_details: Банковские реквизиты
account.bank_address: Bank address
account.bank_1: 744000, Туркменистан г.Ашгабат, Арчабиль шаелы 52
account.our_bank_details: Our реквизиты
account.amount: Сумма
account.upload_file: Загрузить файл
account.nothing_chosen: Ничего не выбранo
account.send: Отправить
account.bank_transfer: Bank transfer
account.online_payment: Online payment
account.pay: Pay
account.bank_transfer_message: Администратор просмотрит ваш документ оплаты, и средства перейдут на ваш баланс. Спасибо
account.payment_type: Метод оплаты
account.choose_chat: Выберите один из активных диалоговых окон чтоб начать переписку!
account.on_site: На сайте
account_delete: Удалить
account.prolong: Продлить
account.edit: Edit
account.complete: Complete
account.admin_checking: Admin is checking
account.add_post: Добавить объявление (Step :step_number)
account.lot_title: Наименование лота
account.lot_title_example: Гидравлическое масло
account.mark_example: ЛУКОЙЛ 46
account.category: Категория
account.step: Step :step_number
account.required_fields: Пункты отмеченные ( <span>*</span> ) обязательны для заполнения
account.activation_required: Activation is required
account.thanks_for_posting: Спасибо за оставленный вами запрос
account.admin_check_and_approve: После проверки нашим Админом ваш лот будет размещен на нашем сайте!
account.quantity_example: 3 литра
account.currency: Валюта
account.delivery_point_example: Mary
account.upload_photo: Загрузить фото
account.fee_for_publishing: За публикацию с вашего баланса будет снято :fee TMT
account.publish: Опубликовать
topnav.reg: Agza bol
topnav.login: Giriş
nav.home: Baş sahypa
@ -170,6 +314,17 @@ tm:
page.prod_finishdate: Gutarýan wagty
page.prod_kg: kg
page.pages: Sahypa
page.contact_us: Обратная связь
page.your_firstname: Ваше имя
page.your_lastname: Ваша фамилия
page.example: Пример
page.example_firstname: Аман
page.example_lastname: Аманов
page.message: Сообщение
page.describe_your_problem: Опишите вашу проблемму
page.message_sent: Сообщение отправлено
page.message_to_seller: Сообщение продавцу
page.fio: ФИО
footer.contacts: Kontaktlar
footer.tel: Tel
footer.email: El. bukja
@ -187,6 +342,10 @@ tm:
page.prod_startdate: Дата начала
page.measure: Единица измерения
page.payment_cond: Условия оплаты
page.date_decrease: По убыванию
page.date_increase: По возрастанию
page.no_results_found: No results found
page.sort_by_date: По дате
page.delivery_cond: Условия поставки
page.delivery_point: Пункт
page.packaging: Упаковка

View File

@ -1,3 +0,0 @@
[viewBag]
title = "Contact us"
==

View File

@ -1,3 +0,0 @@
[viewBag]
title = "Обратная связь"
==

View File

@ -1,10 +0,0 @@
[viewBag]
title = "Habarlaşmak üçin"
url = "/habarlasmak-ucin"
layout = "static"
is_hidden = 0
navigation_hidden = 0
localeUrl[en] = "/contact-us"
localeUrl[ru] = "/obratnaya-svyaz"
==
<figure class="fr-draggable" contenteditable="false" data-component="JanVince\SmallContactForm\Components\SmallContactForm" data-inspector-class="JanVince\SmallContactForm\Components\SmallContactForm" data-inspector-css-class="hero" data-name="Contact form" data-snippet="contactForm" data-ui-block="true" draggable="true" tabindex="0">&nbsp;</figure>

View File

@ -44,6 +44,8 @@ function onStart(){
<!-- <link rel="apple-touch-icon-precomposed" href="{{'assets/images/icon/cropped-cropped-orienticon-180x180.png'|theme}}">-->
<!-- <meta name="msapplication-TileImage" content="{{'assets/images/icon/cropped-cropped-orienticon-270x270.png'|theme}}">-->
<title>{{this.page.title}}</title>
</head>
<body>
{% partial 'header' %}

View File

@ -4,6 +4,16 @@ default = 0
[localePicker]
forceUrl = 1
[account]
redirect = "index"
paramCode = "code"
forceSecure = 0
requirePassword = 0
view = "signin"
[session]
security = "all"
==
<?php
function onStart(){
@ -44,4 +54,4 @@ function onStart(){
{% scripts %}
<script src="{{'assets/js/main.js'|theme}}"></script>
</body>
</html>
</html>

View File

@ -1,20 +1,16 @@
items:
-
title: Kategoriýalar
nesting: null
type: url
url: /
title: 'Baş sahypa'
type: cms-page
code: ''
reference: null
cmsPage: null
replace: null
reference: index
viewBag:
locale:
en:
title: Categories
title: 'Main page'
url: ''
ru:
title: Категории
title: Главная
url: ''
isHidden: '0'
cssClass: ''

View File

@ -1,3 +1,2 @@
static-pages:
sowda-sertleri: { }
habarlasmak-ucin: { }

View File

@ -10,17 +10,15 @@ localeUrl[en] = "/category/:slug"
localeUrl[ru] = "/kategoriya/:slug"
[categories]
active = 0
categoryImages = "without_images"
active = 1
slug = "{{ :slug }}"
renderFeatures = "without_images"
[offers]
categorySlug = "{{ :slug }}"
perPage = 2
sortOrder = "desc"
==
<!--Category ============================================================= -->
<section class="category">
<div class="auto_container">
@ -63,9 +61,9 @@ sortOrder = "desc"
<form action="#" class="sort-order">
<div class="category_select">
<select name="sort_order">
<option value="1">По дате</option>
<option value="desc">Decrease</option>
<option value="asc">Increase</option>
<option value="1">{{'page.sort_by_date'|_}}</option>
<option value="desc">{{'page.date_decrease'|_}}</option>
<option value="asc">{{'page.date_increase'|_}}</option>
</select>
{% if input('page') %}
<input type="hidden" name="page" value="{{ input('page') }}">
@ -74,22 +72,22 @@ sortOrder = "desc"
</form>
<div class="inline_head">
<div class="inline_item">
Лот №:
{{page.prod_id|_}} №:
</div>
<div class="inline_item">
Изображение
{{ 'page.prod_img'|_ }}
</div>
<div class="inline_item">
Товар
{{ 'page.prod_title'|_ }}
</div>
<div class="inline_item">
Дата окончания:
{{ 'page.prod_amount'|_ }}
</div>
<div class="inline_item">
Количество:
{{ 'page.prod_price'|_ }}
</div>
<div class="inline_item">
Стартовая цена:
{{ 'page.prod_finishdate'|_ }}
</div>
</div>

View File

@ -4,20 +4,20 @@ layout = "default"
description = "Baş sahypa. Türkmenistanyň biržasy."
is_hidden = 0
[categories]
active = 0
categoryImages = "with_images"
slug = "{{ :slug }}"
[viewBag]
localeTitle[en] = "Home page"
localeTitle[ru] = "Главная страница"
localeUrl[en] = "/"
localeUrl[ru] = "/"
[offers]
perPage = 0
sortOrder = "desc"
[viewBag]
localeTitle[en] = "Home page"
localeTitle[ru] = "Главная страница"
localeUrl[en] = "/home-page"
localeUrl[ru] = "/glavnaya-stranica"
[categories]
active = 1
slug = "{{ :slug }}"
renderFeatures = "with_images"
==
{% put styles %}
<link rel="stylesheet" href="{{['assets/css/slick-theme.css','assets/css/slick.css']|theme}}">
@ -33,6 +33,8 @@ localeUrl[ru] = "/glavnaya-stranica"
{% partial 'slider' %}
{% component 'categories' %}
</div>
</div>
</section>
@ -75,13 +77,13 @@ localeUrl[ru] = "/glavnaya-stranica"
{{ 'page.prod_title'|_ }}
</div>
<div class="inline_item">
{{ 'page.prod_amount'|_ }}:
{{ 'page.prod_amount'|_ }}
</div>
<div class="inline_item">
{{ 'page.prod_price'|_ }}:
{{ 'page.prod_price'|_ }}
</div>
<div class="inline_item">
{{ 'page.prod_finishdate'|_ }}:
{{ 'page.prod_finishdate'|_ }}
</div>
</div>
{% component 'offers' %}
@ -92,4 +94,4 @@ localeUrl[ru] = "/glavnaya-stranica"
{% put scripts %}
<script src="{{['assets/js/slick.js','assets/js/slider.js']|theme}}"></script>
{% endput %}
{% endput %}

View File

@ -1,4 +1,4 @@
title = "Add offer"
title = "Bildiriş goşmak"
url = "/add-offer"
layout = "default"
is_hidden = 0
@ -8,6 +8,9 @@ is_hidden = 0
[session]
security = "user"
redirect = "index"
[viewBag]
localeTitle[ru] = "Добавить объявление"
==
<!-- here is component offerForm -->
{% component 'offerform' %}

View File

@ -1,14 +1,18 @@
title = "Balance"
title = "Balans"
url = "/balance"
layout = "default"
is_hidden = 0
[viewBag]
localeTitle[en] = "Balance"
localeTitle[ru] = "Balance"
localeTitle[ru] = "Баланс"
localeUrl[en] = "/balance"
localeUrl[ru] = "/balance"
[balance]
[session]
security = "user"
redirect = "index"
==
{% component 'balance' %}

View File

@ -1,4 +1,4 @@
title = "Edit post"
title = "Bilidiriş üýtgetmek"
url = "/edit-post/:id"
layout = "default"
is_hidden = 0
@ -6,8 +6,13 @@ is_hidden = 0
[viewBag]
localeUrl[en] = "/edit-post/:id"
localeUrl[ru] = "/edit-post/:id"
localeTitle[ru] = "Изменить объявление"
[offerform]
productId = "{{ :id }}"
[session]
security = "user"
redirect = "index"
==
{% component 'offerform' %}

View File

@ -3,14 +3,14 @@ url = "/messages"
layout = "default"
is_hidden = 0
[viewBag]
localeTitle[ru] = "Сообщения"
localeUrl[ru] = "/soobshcheniya"
[messages]
[session]
security = "user"
redirect = "index"
[viewBag]
localeTitle[ru] = "Сообщения"
localeUrl[ru] = "/soobshcheniya"
==
{% component 'messages' %}

View File

@ -11,5 +11,9 @@ localeUrl[ru] = "/my-posts"
[myOffers]
perPage = 0
[session]
security = "user"
redirect = "index"
==
{% component 'myOffers' %}

View File

@ -1,4 +1,4 @@
title = "profile"
title = "Profil"
url = "/profile"
layout = "default"
is_hidden = 0
@ -6,10 +6,11 @@ is_hidden = 0
[viewBag]
localeUrl[en] = "/profile"
localeUrl[ru] = "/profile"
localeTitle[en] = "Profile"
localeTitle[ru] = "Профиль"
[session]
security = "user"
==
<!-- Add post ============================================================= -->
<section class="post">
@ -22,4 +23,4 @@ security = "user"
</div>
</div>
</section>
<!-- Add post end ========================================================= -->
<!-- Add post end ========================================================= -->

View File

@ -7,7 +7,7 @@ is_hidden = 0
paramCode = "code"
[viewBag]
localeTitle[en] = "Password -reset"
localeTitle[en] = "Password reset"
localeTitle[ru] = "Сброс пароля"
localeUrl[en] = "/password-reset"
localeUrl[ru] = "/sbros-parolya"

View File

@ -24,7 +24,7 @@ visitPageMessage = "Visit page"
<section class="product">
<div class="auto_container">
<h2>Search results</h2>
<!-- <h2>{{'page.search_result'|_}}</h2> -->
<div class="product_wrap">
<div class="product_box">
{% for result in results %}
@ -78,7 +78,7 @@ visitPageMessage = "Visit page"
</div>
{% else %}
{# No results found #}
<h1>No results found</h1>
<h2>{{'page.no_results_found'|_}}</h2>
{% endfor %}

View File

@ -1,3 +1,10 @@
[categories categories3]
active = 1
slug = "{{ :slug }}"
renderFeatures = "footer"
[viewBag]
==
<footer class="footer">
<div class="auto_container">
<div class="footer_wrap">
@ -16,18 +23,7 @@
{{ 'footer.categories'|_ }}
</div>
<div class="foot_box">
<a href="#" class="foot_item">
Нефтехимия
</a>
<a href="#" class="foot_item">
Машиностроение
</a>
<a href="#" class="foot_item">
Легкая промышленность
</a>
<a href="#" class="foot_item">
Стройматериалы
</a>
{% component 'categories3' %}
</div>
</div>
<div class="foot_col">

View File

@ -121,7 +121,7 @@ code = "main-top"
<img src="{{'assets/images/svg/coins.svg'|theme}}" alt="">
</div>
<div class="profile_text">
Баланс: {{user.balance}} TMT
{{'account.balance'|_}}: {{user.balance}} TMT
</div>
</div>
@ -157,7 +157,7 @@ code = "main-top"
<img src="{{'assets/images/wallet.png'|theme}}" alt="">
</div>
<div class="profile_text">
Пополнить баланс
{{'account.fill_up_balance'|_}}
</div>
</a>
@ -241,7 +241,7 @@ code = "main-top"
<img src="{{'assets/images/svg/coins.svg'|theme}}" alt="">
</div>
<div class="profile_text">
Баланс: {{user.balance}} TMT
{{'account.balance'|_}}: {{user.balance}} TMT
</div>
</div>
@ -277,7 +277,7 @@ code = "main-top"
<img src="{{'assets/images/svg/inbox.svg'|theme}}" alt="">
</div>
<div class="profile_text">
Пополнить баланс
{{'account.fill_up_balance'|_}}
</div>
</a>