2015-05-27 9 views
22

Ich möchte Select 2 extension Widget manuell mit Yii2 Framework ohne Composer installieren.Installieren Yii2 Erweiterung manuell ohne Composer

Ich habe die folgenden Schritte ausgeführt, aber es funktioniert nicht.

1) Added yii2-widget-select2 zu vendor/yii-soft

2) Added folgenden Code in meinem yii-soft/extensions.php:

'yiisoft/yii2-widget-select2' => array(
    'name' => 'yiisoft/yii2-widget-select2', 
    'version' => '2.0.3.0', 
    'alias' => 
    array(
     '@yii/kartik' => $vendorDir . '/yiisoft/yii2-widget-select2', 
    ), 
), 

3) Added Anzeige im Hinblick auf Form:

use kartik\select2\Select2; 

<?php echo Select2::widget([ 
    'model' => $model, 
    'attribute' => 'state_2', 
    'data' => $data, 
    'options' => ['placeholder' => 'Select a state ...'], 
    'pluginOptions' => [ 
     'allowClear' => true, 
    ], 
]); ?> 

und es zeigt die folgende Fehlermeldung:

PHP Fatal Error – yii\base\ErrorException. Class 'kartik\select2\Select2' not found

Antwort

32

Es wird dringend stattdessen verwendet Komponisten empfohlen.

Aber wenn Sie es manuell tun:

1) Download-Archiv der benötigten Version von Github.

2) Geöffnet composer.json.

3) Finden Sie PSR-4 Autoload Abschnitt und merken Sie sich, in Ihrem Fall: kartik/select2.

4) Extract Dateien in entsprechenden Ordnern in vendor: vendor/kartik/select2 (nicht yiisoft!).

5) In dem vendor/composer/autoload_psr4.php:

'kartik\\select2\\' => array($vendorDir . '/kartik/select2'), 

6) zu vendor/yiisoft/extensions.php hinzufügen:

'kartik/select2' => array (
    'name' => 'kartik/select2', 
    'version' => '2', 
    'alias' => array (
     '@kartik/select2' => $vendorDir . '/kartik/select2', 
    ), 
), 

samdark, eine des Kern Mitwirkenden hat den Artikel in der russischen darüber auf seinem offiziellen Blog here. Es ist im Grunde kurz übersetzte Version.

Wie Sie sehen können, ist es eine Menge Arbeit zu tun. Multiplizieren Sie es mit der Anzahl der Erweiterungen und es wird zu Schmerz.

Im Ernst, verwenden Sie composer. Wenn der Hoster dies nicht unterstützt, finde einen anderen.

+1

Konnte nicht mehr zustimmen. Warum machst du es dir so schwer? Worst-Case-Szenario können Sie einfach die composer.phar zu Ihren eigenen Dateien hinzufügen und es so ausführen. – Blizz

+1

Schöne Schritt-für-Schritt-Lösung, zeigt auf 'autoload_psr4.php' – JalalJaberi

+0

[Video-Tutorial] (https://www.youtube.com/watch?v=vTX3Amt89I0&t=2s) –

2

Sie können yii2-workbench Paket verwenden. Es wurde für ein einfaches Intergrate-Paket ohne Composer entworfen. Es unterstützt Composer Autoload und Bootstrap

+1

Während dieser Link die Frage beantworten kann, es ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. –

+0

Ok, danke für deinen Kommentar –

0

Es ist subrepository .GIT, löschen.git von Hersteller \ kartik-v \ yii2-widget-select2 und git rm --cached yii2-widget-select2

Versteck, Commit, Pusdh.

Verwandte Themen