Jump to content

Import dát - súbory na stiahnutie


Recommended Posts

Dobrý deň,

chcel by som poprosiť o radu. Importujem do nového e-shopu cez CSV import súbor niečo cez 1 000 položiek. Sú to knihy.

Podarilo sa mi naimportovať cez ten excel všetko, čo som potreboval, okrem 1 veci - súbory na stiahnutie k jednotlivým produktom (v tomto prípade knihám). Na FTP mám priečinok s náhľadovými obrázkami jednotlivých kníh (v jpg) a v exceli mám zadanú cestu k súboru. Toto funguje.

Ale s čím sa trápim je hromadný import náhľadov kníh v PDF do časti PRÍLOHY. Keď má nejaký produkt prílohu, zobrazí sa tam karta s podrobnosťami a samotným súborom (v mojom prípade PDF). Tieto súbory aj s ich popismi sa dajú nahrávať jednotlivo na stránke každého produktu, ale robiť to pri viac ako 1 000 položkách mi to príde nezmysel.

Tak by som Vás chcel poprosiť o radu, ako by sa to dalo naimportovať hromadne podobným spôsobom, ako to funguje s obrázkami - teda súbor fyzicky na FTP a v CSV hárku cesta k nemu (príp. popis). Je to vôbec možné?

Presta verzia je 1.7.6.1.

Ďakujem,
Martin

Share this post


Link to post
Share on other sites
  • 5 months later...

Dobrý deň, ak sa nemýlim tak import príloh produktov cez csv bohužiaľ nie je možný. Jediný bezplatný spôsob, ktorý mi momentálne napadá je cez php script (nutnosť vedieť programovať), mohlo by to vyzerať nasledovne:

    $filename = 'myfile.pdf';
    $id_product = 123;

	// Generate unique filename
	do $uniqid = sha1(microtime());
	while (file_exists(_PS_DOWNLOAD_DIR_.$uniqid));

	// Copy file to target
    copy($_FILES['attachment_file']['tmp_name'], _PS_DOWNLOAD_DIR_.$uniqid);

	// Create file attachment
	$attachment = new Attachment();
	$attachment->file = $uniqid;
	$attachment->mime = 'application/pdf';
	$attachment->file_name = $filename;

	// Create name and description for each language
	$languages = Language::getLanguages(false);
	foreach ($languages as $language)
	{
		    $attachment->name[(int)$language['id_lang']] = substr($filename, 0, 32);
		    $attachment->description[(int)$language['id_lang']] = '';
	}

	// Put to DB
	$attachment->add();

	// Attach to product
	$attachment->attachProduct($id_product);

Toto je prevzaté zo staršieho príspevku

, predpokladám že na Vašu verziu prestashopu to nebude úplne aktuálne, treba si dané funkcie a premenné overiť.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More